超级简单的openid和google federated auth for flask应用程序。

Flask-GoogleAuth的Python项目详细描述


这是torando.auth的一个部分端口,用于烧瓶。

它很小,自包含,不使用任何文件系统操作。 内部应用程序的greate。

作者亚历山大·萨尔塔诺夫,灵感来自肯尼斯·雷茨。

用法

google联合登录的示例用法。

路由/login//logout/将自动提供。

需要来自给定谷歌应用程序域的帐户才能使用Flask应用程序:

from flask import Flask, g
from flask_googleauth import GoogleFederated

# Setup Flask
app = Flask(__name__)
app.secret_key = "random secret key"

# Setup Google Federated Auth
auth = GoogleFederated("mokote.com", app)

@app.route("/")
@auth.required
def secret():
    # Once user is authenticated, his name and email are accessible as
    # g.user.name and g.user.email.
    return "You have rights to be here, %s (%s)" % (g.user.name, g.user.email)

app.run()

如果你想用普通的google openid认证你的用户,你应该导入并使用GoogleAuth,而不是GoogleFederated

auth = GoogleAuth(app)

通过在auth对象上设置force_auth_on_every_request,可以强制对所有请求进行身份验证:

auth.force_auth_on_every_request = True

安装

要安装烧瓶,请执行以下操作:

pip install flask-googleauth

先决条件

确保您的google应用程序域在“高级工具”—“使用openid联合登录”下被启用为openid提供者。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
杰克森·爪哇。lang.NoSuchFieldError:使用注释   java为什么setFont要花这么多时间?   java为什么无法在文本文件中\n记录消息?   继承Java:使用具有多态性的getter和setter   java元素。findElement()不适用于使用Appium的任何定位器策略的本机iOS应用程序   java如何处理spring引导中从DefaultOAuth2ExceptionRender引发的InvalidMediaType异常?   json使用正确的数据值自动创建新的Java对象   java xmlbeans NoClassDefFoundError   java中有很多JSP/Servlet应用程序示例,为什么是。使用inc扩展代替。包含的jsp?   IntelliJ Idea无法执行java程序   java当堆栈弹出时内存会发生什么变化?   大写java控件2个字符串中的大写和小写   java是否可以从findGrade()返回两个值?   java在JToolBar中添加垂直分隔符   swing Java容器移除方法工作不正常   无@Nonnull注释的java Lombok生成构造函数   java发现了组织的问题。莫基托。例外情况。滥用。不允许例外   安卓 java。lang.RuntimeException:无法实例化活动(无法打开DEX文件)