跳到主要内容

Nexmo Verify密码验证支持Kinto

项目描述

Nexmo Verify支持Kinto

travis Coverage

kinto-nexmo-verify通过使用*Nexmo Verify*无密码身份验证,使Kinto应用程序能够进行身份验证。

它提供

  • 一个身份验证策略类;

  • Kinto缓存后端集成以进行令牌验证;

  • Kinto集成以进行心跳视图检查;

  • 端点以执行Nexmo舞蹈和获取JWT身份验证令牌。

  • Kinto文档

  • 问题跟踪器

安装

安装Python包

pip install kinto-nexmo-verify

将包包含在项目配置中

kinto.includes = kinto_nexmo_verify

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

multiauth.policies = nexmo
multiauth.policy.nexmo.use = kinto_nexmo_verify.authentication.PasswordlessAuthenticationPolicy

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

配置

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

nexmo.api_key = 89513028159972bc
nexmo.api_secret = 9aced230585cc0aaea0a3467dd800
nexmo.webapp.authorized_domains = *
# nexmo.cache_ttl_seconds = 300
# nexmo.state.ttl_seconds = 3600

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

# multiauth.policy.nexmo.realm = Realm

登录流程

JWT身份验证令牌

使用此标题使用JWT令牌

Authorization: Nexmo <jwt_token>
备注:

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

获取JWT令牌流程

要启动无密码会话,请首先将手机号码发送到 POST /v1/nexmo/verify

$ http POST http://localhost:8000/v1/nexmo/verify number=447700900000 -v

POST /v1/nexmo/verify HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 44
Content-Type: application/json
Host: localhost:8000
User-Agent: HTTPie/0.9.9

{
    "number": "447700900000"
}


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

{
    "request_id": "89513028159972bc",
    "number": "verify"
}

然后,一旦您收到来自 verify 号码的消息,您可以读取其代码并使用 POST /v1/nexmo/verify/check 进行验证

$ http POST http://localhost:8000/v1/nexmo/verify/check request_id=89513028159972bc code=5992 -v

POST /v1/nexmo/verify/check HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 50
Content-Type: application/json
Host: localhost:8000
User-Agent: HTTPie/0.9.9

{
    "code": "5992",
    "request_id": "89513028159972bc"
}


HTTP/1.1 202 Accepted
Content-Length: 232
Content-Type: application/json; charset=UTF-8
Date: Thu, 21 Feb 2019 09:28:37 GMT
Server: waitress

{
    "jwt_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.xOzQ0jczoCaK_6hHUaOfAh8XqU5HRVcIAl-OdXkZVMc",
    "payload": {"number": "447700900000"}
}

变更日志

本文件描述了每个过去版本的变更。

1.0.0 (2020-01-20)

  • 初始服务。

贡献者

项目详情


下载文件

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

源分布

kinto-nexmo-verify-1.0.0.tar.gz (15.1 kB 查看散列)

上传时间

构建分布

kinto_nexmo_verify-1.0.0-py3-none-any.whl (15.4 kB 查看散列)

上传时间 Python 3

支持者: