aws cognito jwt的django后端
django-cognito-jwt的Python项目详细描述
用于aws cognito jwt令牌的django rest框架的身份验证后端
安装
pip install django-cognito-jwt
用法
在djangosettings.py文件中添加以下行:
COGNITO_AWS_REGION='<aws region>'# 'eu-central-1'COGNITO_USER_POOL='<user pool>'# 'eu-central-1_xYzaq'COGNITO_AUDIENCE='<client id>'
(可选)如果要在请求之间缓存Cognoto公钥,可以 启用COGNITO_PUBLIC_KEYS_CACHING_ENABLED设置(仅当您 将django CACHES设置为除虚拟后端之外的任何内容)。
COGNITO_PUBLIC_KEYS_CACHING_ENABLED=TrueCOGNITO_PUBLIC_KEYS_CACHING_TIMEOUT=60*60*24# 24h caching, default is 300s
还要更新rest框架设置以使用正确的身份验证后端:
REST_FRAMEWORK={'DEFAULT_AUTHENTICATION_CLASSES':[...'django_cognito_jwt.JSONWebTokenAuthentication',...],...}
确保将cognoto的id标记jwt作为身份验证头传递。 使用访问令牌只能用于身份验证,但我们无法将get\u或\u create\u for\u cognito方法与访问令牌一起使用。
(可选)如果要使用不同的用户模型,则默认的django_user_模型 您可以使用COGNITO_USER_MODEL设置。
COGNITO_USER_MODEL="myproject.AppUser"