django应用程序使用djangorestframework的代码或jwt进行身份验证

ECAuth0Backend的Python项目详细描述


Source

使用风险自负。目前,api可能会继续变化。

用django从auth0管理代码和jwt auth的实验应用。

如果您使用的是jwt机制,则需要包含openid email作用域才能获得电子邮件验证的声明。

此应用程序提供与应用程序一起使用所需的自定义用户模型(请参阅安装程序的步骤2)。

设置

  1. 添加到已安装的应用程序设置中,如下所示:

    INSTALLED_APPS = [
        ...
        'ECAuth0Backend',
    ]
    
  2. 将django设置为使用ecauth0后端用户模型:

    AUTH_USER_MODEL = 'ECAuth0Backend.A0User'
    
  3. 在项目url.py中包含urlconf,如下所示:

    import ECAuth0Backend.urls
    
    urlpatterns = [
        # your urls
    ] + ECAuth0Backend.urls.urlpatterns
    
  4. 运行python manage.py migrate以创建用户模型。

  5. 将所需配置添加到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
    
  6. 添加身份验证后端:

    AUTHENTICATION_BACKENDS = [
        'ECAuth0Backend.backend.Auth0Backend',
        'django.contrib.auth.backends.ModelBackend',
    ]
    
  7. 对于带有drf的jwt,使用ecauth0backend.jwt.auth0jwtauthentication作为身份验证类

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从数组中打印int值?   prepared语句Java中奇怪的异常PreparedStatement:参数索引超出范围   封装如何在OOP Java中为主方法编码?   java某些手机显示快捷方式徽章需要什么权限?   java TextView不会随OnItemSelectedListener更改   java注释处理器不会自动触发吗?   java Spring JPA如何计算外键数   c#对于这个简单的OOAD问题,哪种设计最优雅?   java如何处理while循环中的异常?   Android Studio错误:进程'command'/home/draven/Downloads/安卓studio/jre/bin/java''结束,退出值为非零2   在使用Payara服务器的Vaadin应用程序中导航到根目录时,java将丢失上下文根目录   使用contentType application/json而不是application/jsonpatch+json的java修补程序   带有tomcat的java HAproxy连接不足   Java:在应用过滤器后创建一个简单的通用方法进行计数   java如何使用多态性创建一个实例化对象的方法,然后用它们高效地填充ArrayList?