django应用程序使用djangorestframework的代码或jwt进行身份验证
ECAuth0Backend的Python项目详细描述
使用风险自负。目前,api可能会继续变化。
用django从auth0管理代码和jwt auth的实验应用。
如果您使用的是jwt机制,则需要包含openid email作用域才能获得电子邮件验证的声明。
此应用程序提供与应用程序一起使用所需的自定义用户模型(请参阅安装程序的步骤2)。
设置
添加到已安装的应用程序设置中,如下所示:
INSTALLED_APPS = [ ... 'ECAuth0Backend', ]
将django设置为使用ecauth0后端用户模型:
AUTH_USER_MODEL = 'ECAuth0Backend.A0User'
在项目url.py中包含urlconf,如下所示:
import ECAuth0Backend.urls urlpatterns = [ # your urls ] + ECAuth0Backend.urls.urlpatterns
运行python manage.py migrate以创建用户模型。
将所需配置添加到settings.py中(您可以通过ecauth0backend.settings.py查看更多设置):
AUTH0_DOMAIN = '' # Your auth0 domain AUTH0_CODE_CLIENT_ID = '' # Your auth0 client ID for code auth AUTH0_CODE_CLIENT_SECRET = '' # Your auth0 client secret for code auth AUTH0_CODE_CALLBACK_PATH = '' # Callback url you want auth0 to send the client back to (url pattern defined below) AUTH0_JWT_SECRET = '' # auth0 client secret for jwt client AUTH0_JWT_CLIENT_ID = '' # auth0 client id for jwt client
添加身份验证后端:
AUTHENTICATION_BACKENDS = [ 'ECAuth0Backend.backend.Auth0Backend', 'django.contrib.auth.backends.ModelBackend', ]
对于带有drf的jwt,使用ecauth0backend.jwt.auth0jwtauthentication作为身份验证类