如何在 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 存储为环境变量。
我打算在 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 存储为环境变量。