支持browserid身份验证的烧瓶
Flask-BrowserID的Python项目详细描述
#棕色烧瓶
提供与Mozilla的[browserid](身份验证系统)和Flask登录集成的Flask扩展。它公开了两条用于登录和注销的路由,以及一个javascript身份验证捆绑包,允许您快速创建登录和注销按钮。
安装
使用**pip安装**:
pip安装git+https://github.com/garbados/flask-browserid.git
快速启动
flask browserid要求首先配置flask登录的loginmanager并向应用程序注册,如下所示:
来自烧瓶进口烧瓶
从flask.ext.login导入loginmanager
从flask.ext.login导入browserid
从“我的东西”导入“按ID获取用户”按ID查找用户
from other_stuff import get_u user根据browserid响应查找用户
app=烧瓶(名称)
登录管理器=登录管理器()
登录管理器。用户加载程序(按ID获取用户)
登录管理器.init应用程序(应用程序)
浏览器id=browsserid()
浏览器ID.用户加载程序(获取用户)
浏览器ID.Init应用程序(应用程序)
现在路由`/api/login`和`/api/logout'已在应用程序中注册。javascript捆绑包“auth_script”也已添加到请求上下文的顶层,因此您可以在如下模板中访问它:
[注意:`auth_script`需要jquery和mozilla的`include.js`]
<;HTML>;
<;头>;
<;script type=“text/javascript”src=“https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js”>;<;/脚本>;
<;脚本src=“https://browserid.org/include.js”type=“text/javascript”>;<;/脚本>;
<;script type=“text/javascript”>;{{验证脚本{安全}}<;/脚本>;
<;头>;
<;正文>;
{%如果当前用户已通过身份验证()%}
<;按钮 id="browserid-logout">Logout</button>
{%else%}
<;按钮 id="browserid-login">Login</button>
{%endif%}
<;正文>;
<;/html>;
感谢“auth\u script”,单击该页上的“log in”按钮将尝试使用browserid登录。如果您已经登录,则单击“注销”将注销您。
所需配置
flask browserid需要一个函数,该函数接受browserid返回的数据,并使用该函数查找和返回用户,该用户随后使用flask登录名登录flask browserid。如果函数找不到用户,它可以尝试使用给定的数据创建用户。如果既找不到用户,也无法创建用户,则函数应返回none。如果成功,browserid返回的数据将如下所示:
{
“status”:“好”,
“电子邮件”:“lloyd@example.com”,
“观众”:“https://mysite.com”,
“到期”:1308859352261,
“发行人”:“browserid.org”
}
否则:
{
“status”:“失败”,
“原因”:“未提供证书”
}
browserid的响应在到达“user_loader”函数时已经从json解析为dict。
可选配置
通过在应用程序配置中设置以下内容,可以设置Flask Browserid用于登录和注销的URL:
*`browserid\u login\u url`:默认为`/api/login`
*`browserid\u logout\u url`:默认为`/api/logout`
有关如何配置应用程序的详细信息,请参阅[烧瓶配置处理](http://flask.pocoo.org/docs/config/)。
测试
运行“python setup.py test”将运行扩展的自动测试套件,但某些测试只能通过手动启动服务器并单击来运行(目前)。为此,从扩展的根目录,run python tests/初始化py-i。“-i”标志告诉测试套件跳过常规测试,而是使用测试模板运行测试应用程序,这样您就可以四处单击。
学分
非常感谢[flask mongoengine](我基于此扩展的结构)和[flask login](通常是一个非常好的扩展)。
提供与Mozilla的[browserid](身份验证系统)和Flask登录集成的Flask扩展。它公开了两条用于登录和注销的路由,以及一个javascript身份验证捆绑包,允许您快速创建登录和注销按钮。
安装
使用**pip安装**:
pip安装git+https://github.com/garbados/flask-browserid.git
快速启动
flask browserid要求首先配置flask登录的loginmanager并向应用程序注册,如下所示:
来自烧瓶进口烧瓶
从flask.ext.login导入loginmanager
从flask.ext.login导入browserid
从“我的东西”导入“按ID获取用户”按ID查找用户
from other_stuff import get_u user根据browserid响应查找用户
app=烧瓶(名称)
登录管理器=登录管理器()
登录管理器。用户加载程序(按ID获取用户)
登录管理器.init应用程序(应用程序)
浏览器id=browsserid()
浏览器ID.用户加载程序(获取用户)
浏览器ID.Init应用程序(应用程序)
现在路由`/api/login`和`/api/logout'已在应用程序中注册。javascript捆绑包“auth_script”也已添加到请求上下文的顶层,因此您可以在如下模板中访问它:
[注意:`auth_script`需要jquery和mozilla的`include.js`]
<;HTML>;
<;头>;
<;script type=“text/javascript”src=“https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js”>;<;/脚本>;
<;脚本src=“https://browserid.org/include.js”type=“text/javascript”>;<;/脚本>;
<;script type=“text/javascript”>;{{验证脚本{安全}}<;/脚本>;
<;头>;
<;正文>;
{%如果当前用户已通过身份验证()%}
<;按钮 id="browserid-logout">Logout</button>
{%else%}
<;按钮 id="browserid-login">Login</button>
{%endif%}
<;正文>;
<;/html>;
感谢“auth\u script”,单击该页上的“log in”按钮将尝试使用browserid登录。如果您已经登录,则单击“注销”将注销您。
所需配置
flask browserid需要一个函数,该函数接受browserid返回的数据,并使用该函数查找和返回用户,该用户随后使用flask登录名登录flask browserid。如果函数找不到用户,它可以尝试使用给定的数据创建用户。如果既找不到用户,也无法创建用户,则函数应返回none。如果成功,browserid返回的数据将如下所示:
{
“status”:“好”,
“电子邮件”:“lloyd@example.com”,
“观众”:“https://mysite.com”,
“到期”:1308859352261,
“发行人”:“browserid.org”
}
否则:
{
“status”:“失败”,
“原因”:“未提供证书”
}
browserid的响应在到达“user_loader”函数时已经从json解析为dict。
可选配置
通过在应用程序配置中设置以下内容,可以设置Flask Browserid用于登录和注销的URL:
*`browserid\u login\u url`:默认为`/api/login`
*`browserid\u logout\u url`:默认为`/api/logout`
有关如何配置应用程序的详细信息,请参阅[烧瓶配置处理](http://flask.pocoo.org/docs/config/)。
测试
运行“python setup.py test”将运行扩展的自动测试套件,但某些测试只能通过手动启动服务器并单击来运行(目前)。为此,从扩展的根目录,run python tests/初始化py-i。“-i”标志告诉测试套件跳过常规测试,而是使用测试模板运行测试应用程序,这样您就可以四处单击。
学分
非常感谢[flask mongoengine](我基于此扩展的结构)和[flask login](通常是一个非常好的扩展)。