如何在 djangorestframework-simplejwt 中使用 JWTTokenUserAuthentication 后端实验特性

how to use JWTTokenUserAuthentication backend experimental feature in djangorestframework-simplejwt

我打算在 Django 和 Django rest 框架中创建微服务架构。我的意图是有一个单独的 Django 项目来处理身份验证。该项目有 djangorestframework-simplejwt 包,其中提到了 SSO 功能 here

我该如何实施?我应该更新两个 django 项目中的 DEFAULT_AUTHENTICATION_CLASSES 吗?

将两个 Django 项目中的 DEFAULT_AUTHENTICATION_CLASSES 更新为 'rest_framework_simplejwt.authentication.JWTTokenUserAuthentication'。那么您在身份验证项目中的 SIMPLE_JWT 设置应如下所示:

SIMPLE_JWT = {
    ...

    'SIGNING_KEY': config('SECRET_KEY'),
    'VERIFYING_KEY': config('SECRET_KEY'),

    ...
}

而您的其他服务的 SIMPLE_JWT 应如下所示:

SIMPLE_JWT = {
    ...

    'SIGNING_KEY': 'AUTHENTICATION PROJECT SECRET KEY',
    'VERIFYING_KEY': 'AUTHENTICATION PROJECT SECRET KEY',

    ...
}

在我的例子中,我将 SECRET_KEY 存储为环境变量。