跳转到主要内容

Kinto的Hawk身份验证支持

项目描述

Kinto的Hawk身份验证支持

travis Coverage

Kinto-hawk 为基于 Kinto 的应用程序启用Hawk身份验证。

它将Hawk身份验证协议添加到Kinto账户插件中。

您的用户将像通常一样处理 Kinto账户用户

Hawk对Kinto的主要好处是防止重放攻击(对于得分游戏非常有用)以及防止像基本认证那样在网络上发送用户名和密码。

它提供

  • 一个身份验证策略类;

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

  • 一些可选端点以获取新的Hawk会话。

  • Kinto文档

  • 问题跟踪器

安装

安装Python包

pip install kinto-hawk

将包包含在项目配置中

# Enable plugin.
kinto.includes = kinto_hawk

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

multiauth.policies = account

# Enable Hawk authenticated policy and name it account
multiauth.policy.account.use = kinto_hawk.authentication.HawkAuthenticationPolicy

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

配置

到目前为止,还没有为Hawk特定的配置。

如果需要,可以覆盖身份验证策略的默认值

# multiauth.policy.account.realm = Realm
# hawk.nonce_ttl_seconds = 60  # A minute
# hawk.session_ttl_seconds = 2613600  # 2 months since last usage.

如何创建用户?

您可以使用kinto create-user命令创建用户

kinto create-user --ini config/kinto.ini -u admin

登录流程

一旦您有一个用户并且已经激活了 kinto-hawk 插件,您将能够通过使用 Basic Auth 或之前的 Hawk会话 从新端点请求Hawk会话。

 $ http POST https://kinto.dev.mozaws.net/v1/hawk-sessions -v --auth (userID):(password)
 POST /v1/hawk-sessions HTTP/1.1
 Host: kinto.dev.mozaws.net


HTTP/1.1 201 Created
Hawk-Session-Token: 47d5616e561443e79d0db605771db46234a984629a6e681059b76657f790583b

更新日志

本文件描述了每个过去版本之间的变化。

0.1.0 (2018-04-26)

  • 初始实现。

贡献者