Я пытаюсь подключить Okta с помощью пользовательского приложения Django (v.3.0.2), которое я кодирую, используя библиотеку mozilla- django -oid c. Пока что первоначальная аутентификация пользователя и создание учетной записи (с использованием Django модель пользователя ) работают, но я не понимаю, что мне нужно сделать, чтобы иметь Django AdminSite работа.
Админсайт до введения mozilla-django-oidc
работал как положено. Я создал администратора с именем «admin» и смог войти в систему.
Чтобы интегрировать библиотеку mozilla-django-oidc
, я следовал приведенным ниже инструкциям: https://mozilla-django-oidc.readthedocs.io/en/stable/installation.html. В инструкциях нет никакого конкретного c упоминания AdminSite.
Когда я получаю доступ к AdminSite после интеграции библиотеки, у меня есть следующее:
- AdminSite использует значение по умолчанию Шаблон - я предполагал, что он также будет использовать Okta для аутентификации.
- Учетная запись администратора "admin", которая раньше могла входить на AdminSite, больше не работает
Моя цель - получить доступ к AdminSite. Я не против, если это будет через Okta или через интерфейс vanilla, если я могу получить к нему доступ.
Ниже приведены соответствующие сегменты из файлов (для интеграции):
urls.py
urlpatterns = [
path('', static_site.site_index, name='site_index'),
path('admin/', admin.site.urls),
path('review/', include('review.urls')),
path('oidc/', include('mozilla_django_oidc.urls')),
]
settings.py
# OICD
AUTHENTICATION_BACKENDS = (
'mozilla_django_oidc.auth.OIDCAuthenticationBackend',
)
OIDC_RP_CLIENT_ID = 'xxxxx'
OIDC_RP_CLIENT_SECRET = 'xxxx'
OIDC_RP_SIGN_ALGO = 'RS256'
OIDC_OP_JWKS_ENDPOINT = 'https://dev-xxx.okta.com/oauth2/default/v1/keys'
OIDC_RP_SCOPES = 'openid email profile'
OIDC_OP_AUTHORIZATION_ENDPOINT = 'https://dev-xxx.okta.com/oauth2/default/v1/authorize'
OIDC_OP_TOKEN_ENDPOINT = 'https://dev-xxx.okta.com/oauth2/default/v1/token'
OIDC_OP_USER_ENDPOINT = 'https://dev-xxx.okta.com/oauth2/default/v1/userinfo'
# Provided by mozilla-django-oidc
LOGIN_URL = reverse_lazy('oidc_authentication_callback')
# App urls
LOGIN_REDIRECT_URL = reverse_lazy('review:dashboard')
LOGOUT_REDIRECT_URL = reverse_lazy('site_index')
Любые идеи и указатели приветствуются!