一个中间件和一组处理程序,用cognito处理代码授权认证
cognito-code-grant的Python项目详细描述
django rest框架的aws cognito代码授权
这个包实现了一个身份验证后端和一组处理程序,使您的应用程序能够使用 使用aws cognito进行代码授权认证。
这个包是由stitch(https://www.stitchdesignlab.com/)开发的
这个项目的文档是一个正在进行的工作,基本上是一目了然的。不要犹豫 联系我们,或打开一个问题或公关的贡献。
链接
代码授权
代码授权是一个OAuth2.0流,允许使用Cogno作为数据存储和身份验证后端 对于用户,同时在应用程序数据库中维护用户和组信息的更新副本。 这样,应用程序可以为用户添加自定义业务逻辑,而用户数据是 仍然通过Cognoto集中存储和管理。
当您为包含多个 需要在共享用户基础上操作的应用程序。
有关标准的详细说明,请参见上面的链接。
安装
您可以从pip安装这个包:pip install cognito_code_grant
用法
该实现由authentication backend、登录处理程序和注销处理程序组成。 要使用后端,只需在django设置中指定它:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'cognito_code_grant.authentication.CognitoAuthentication',
'rest_framework.authentication.BasicAuthentication',
...
)
要使用处理程序,请使用助手函数将它们包含在URL中:
from cognito_code_grant.views import include_auth_urls
urlpatterns = [
path('auth/', include_auth_urls()),
...
]
此外,您还需要设置以下设置以指向Cognoto实例:
AUTH_COGNITO_CLIENT_ID = # your client ID
AUTH_COGNITO_CODE_GRANT_URL = # your token endpoint (https://AUTH_DOMAIN/oauth2/token)
AUTH_COGNITO_JWKS_URL = # the url for your JWKs (https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json.)