2

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

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

4

1 回答 1

1

在两个 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 存储为环境变量。

于 2020-11-03T04:08:53.593 回答