跳转到主要内容

已弃用!请参阅 kinto-fxa,原:Cliquet中的Firefox账户支持

项目描述

弃用通知

随着cliquet更名为kinto.core,此包不再受支持。请升级到kinto-fxa!

Cliquet中的Firefox账户支持

travis Coverage

Cliquet-fxa通过使用Firefox账户OAuth2载体令牌,在Cliquet应用程序中启用身份验证。

它提供

  • 一个身份验证策略类;

  • Cliquet缓存后端的集成,用于令牌验证;

  • Cliquet集成,用于心跳视图检查;

  • 一些可选端点以执行OAuth舞蹈(可选)。

  • Cliquet文档

  • 问题跟踪器

安装

如官方文档中所述,Firefox账户OAuth集成目前仅限于Mozilla依赖的服务。

安装Python包

pip install cliquet-fxa

将包包含在项目配置中

cliquet.includes = cliquet_fxa

并使用pyramid_multiauth形式配置身份验证策略

multiauth.policies = fxa

默认情况下,它将依赖于在Cliquet中配置的缓存。

配置

使用在应用程序注册期间获得的值填充这些设置

fxa-oauth.client_id = 89513028159972bc
fxa-oauth.client_secret = 9aced230585cc0aaea0a3467dd800
fxa-oauth.oauth_uri = https://oauth-stable.dev.lcip.org
fxa-oauth.requested_scope = profile kinto
fxa-oauth.required_scope = kinto
fxa-oauth.webapp.authorized_domains = *.firefox.com
# fxa-oauth.cache_ttl_seconds = 300
# fxa-oauth.state.ttl_seconds = 3600

如果应用程序不应作为依赖项(即OAuth舞蹈端点禁用)

fxa-oauth.relier.enabled = false

如有必要,覆盖身份验证策略的默认值

# multiauth.policy.fxa.realm = Realm
# multiauth.policy.fxa.use = cliquet_fxa.authentication.FxAOAuthAuthenticationPolicy

登录流程

OAuth载体令牌

使用此标题使用OAuth令牌

Authorization: Bearer <oauth_token>
备注:

如果令牌无效,这将导致一个401错误响应。

使用Web UI获取令牌

  • 将客户端导航到GET /fxa-oauth/login?redirect=http://app-endpoint/#。在那里,将设置一个会话cookie,并将客户端重定向到FxA内容服务器上的登录表单;

  • 在登录页面上提交凭据后,客户端将被重定向到http://app-endpoint/#{token}(Web应用程序)。

获取自定义流令牌

GET /v1/fxa-oauth/params端点可以用于获取配置,以便用Firefox账户BrowserID交换载体令牌有关此行为,请参阅Firefox账户文档

$ http GET http://localhost:8000/v0/fxa-oauth/params -v

GET /v0/fxa-oauth/params HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Host: localhost:8000
User-Agent: HTTPie/0.8.0


HTTP/1.1 200 OK
Content-Length: 103
Content-Type: application/json; charset=UTF-8
Date: Thu, 19 Feb 2015 09:28:37 GMT
Server: waitress

{
    "client_id": "89513028159972bc",
    "oauth_uri": "https://oauth-stable.dev.lcip.org",
    "scope": "profile"
}

变更日志

此文档描述了每个过去版本之间的更改。

1.4.0 (2015-10-28)

  • 更新到Cliquet 2.9.0

破坏性更改

  • cliquet-fxa不能使用pyramid.includes设置包含。请使用cliquet.includes代替。

1.3.2 (2015-10-22)

错误修复

  • 如果OAuth舞蹈被中断,则返回408 Request Timeout错误,而不是返回401 Unauthenticated错误。(#11)

  • 不要从cliquet-fxa中调用cliquet.load_default_settings。(#12)

1.3.1 (2015-09-29)

  • 在登录URL中使用+分隔多个作用域。

1.3.0 (2015-09-29)

错误修复

  • 在登录流程中可以请求多个作用域。

  • 应用程序可能需要多个作用域。

配置更改

  • fxa-oauth.scope现在已弃用。应使用fxa-oauth.requested_scopefxa-oauth.required_scope代替。

1.2.0 (2015-06-24)

  • 添加默认设置以定义策略“fxa”。现在只需包含cliquet_fxa并将fxa添加到multiauth.policies设置列表中。

  • 初始化阶段不要检查cliquet缓存的存储。

  • 不要使用Cliquet日志记录器以防止初始化错误。

1.1.0 (2015-06-18)

  • 不再使用fxa_作为认证用户的前缀 (#5)

1.0.0 (2015-06-09)

  • Cliquet导入代码

贡献者

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

cliquet-fxa-1.4.0.tar.gz (11.7 kB 查看哈希值)

上传时间

构建分发

cliquet_fxa-1.4.0-py2.py3-none-any.whl (17.0 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者