Использование библиотеки django-okta-auth: проблема с циклическим входом в систему при запуске в LocalHost

Я использую платформу Okta и Django для разработки веб-приложения, и я столкнулся с ситуацией на моем локальном хостинге, которую, похоже, я не могу обойти. Я вхожу в виджет входа в Okta, он приводит меня к проверке Okta, а затем перенаправляет обратно на виджет входа в Okta по циклической схеме. У меня есть следующие настройки для моего settings.py:


INSTALLED_APPS = [
    'appname',
    'okta_oauth2.apps.OktaOauth2Config',
    'rest_framework',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'okta_oauth2.middleware.OktaMiddleware'
]

AUTHENTICATION_BACKENDS = [
    "okta_oauth2.backend.OktaBackend",
]

OKTA_AUTH = {
    "ORG_URL": "dev.okta.com",
    "ISSUER": "https://dev.okta.com/oauth2/default",
    "CLIENT_ID": os.getenv("client_id"),
    "CLIENT_SECRET": os.getenv("client_secret"),
    "SCOPES": "openid profile email offline_access", # this is the default and can be omitted
    "REDIRECT_URI": "http://localhost:8000/accounts/oauth2/callback",
    "LOGIN_REDIRECT_URL": "http://localhost:8000/redirect-user/", # default
    "CACHE_PREFIX": "okta", # default
    "CACHE_ALIAS": "default", # default
    "PUBLIC_NAMED_URLS": (), # default
    "PUBLIC_URLS": (), # default
    "USE_USERNAME": False, # default
}


У меня есть параметр redirect_URI, определенный в моем окне разработки Okta, а также параметр login_redirect_url. Это мои приложения urls.py:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include(("okta_oauth2.urls", "okta_oauth2"), namespace="okta_oauth2")),
    path('accounts/login/', okta_views.login, name='login'),
    path('accounts/oauth2/callback', views.custom_callback, name='callback'),
    path('redirect-user/', view=views.login_redirect_view),
    path('appname/Admin/', include("admin.urls")),
]

У меня есть следующее views.py:

До того, как я внедрил платформу Okta, моя система аутентификации работала с использованием базы данных SQLite и ModelBackend. Я хотел бы знать, как я мог бы решить проблему циклического перенаправления входа в систему, потому что в терминале, когда я устраняю неполадки в своем приложении, я вижу следующее: оно отправляет сообщения в обратный вызов, а затем возвращает их в учетные записи / логин.

Вернуться на верх