我计划在 Django 和 Django rest 框架中创建微服务架构。我的意图是有一个单独的 Django 项目来处理身份验证。这个项目的包在这里djangorestframework-simplejwt
提到了 SSO 功能。
我该如何实施?我应该DEFAULT_AUTHENTICATION_CLASSES
在两个 django 项目中更新吗?
我计划在 Django 和 Django rest 框架中创建微服务架构。我的意图是有一个单独的 Django 项目来处理身份验证。这个项目的包在这里djangorestframework-simplejwt
提到了 SSO 功能。
我该如何实施?我应该DEFAULT_AUTHENTICATION_CLASSES
在两个 django 项目中更新吗?
在两个 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 存储为环境变量。