Совместное использование mozilla-django-oidc и djangorestframework-simplejwt
У меня есть веб-сайт, для которого требуется аутентификация как по OIDC, так и по JWT. Чтобы достичь этого, я подумал об использовании пакетов mozilla-django-oidc и djangorestframework-simplejwt вместе.
Однако, похоже, они не работают вместе. Например, наличие следующего фрагмента кода в settings.py приводит к тому, что разрешены только токены доступа OIDC:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'mozilla_django_oidc.contrib.drf.OIDCAuthentication',
'rest_framework_simplejwt.authentication.JWTAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
),
'DATE_FORMAT': '%b %d %Y',
}
в то время как следующий фрагмент кода приводит к разрешению только токенов доступа JWT:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
'mozilla_django_oidc.contrib.drf.OIDCAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
),
'DATE_FORMAT': '%b %d %Y',
}
(Я использую маркер доступа, включив Bearer <token> в заголовки запроса.)
Как я могу настроить код, чтобы эти два пакета работали вместе?