Почему я получил "http://~" в качестве параметра url перенаправления, хотя я установил "https://~" в LOGIN_REDIRECT_URL в mozilla-django-oidc?
Я пытался интегрировать приложение Django с Keycloak с помощью mozilla-django-oidc и решить проблему, о которой говорится в заголовке.
Я настроил LOGIN_REDIRECT_URL и необходимые конфигурации в settings.py
LOGIN_REDIRECT_URL = "https://~"
и подготовленный шаблон Django.
{% if request.user.is_authenticated %}
\<p\>Current user: {{ request.user.email }}\</p\>
\<form action="{{ url('oidc_logout') }}" method="post"\>
{{ csrf_input }}
\<input type="submit" value="logout"\>
\</form\>
{% else %}
\<a href="{{ url('oidc_authentication_init') }}"\>Login\</a\>
{% endif %}
Однако я нажал на ссылку Login, после чего получил сообщение об ошибке, в котором говорится о недействительном url перенаправления, поскольку параметр url перенаправления был изменен на http://~.
Я просмотрел код mozilla-django-oidc, и мне показалось, что там нет функции, меняющей "https://~" на "http://~" как параметр url редиректа, а я установил "https://~" в LOGIN_REDIRECT_URL, так что может быть что-то не так с обратным прокси, которым в моем случае является Istio. Я ничего не настраивал самостоятельно до сих пор.
В случае использования Ngnix, эта проблема может быть решена как это.
Я бы хотел, чтобы вы ответили, в чем причина проблемы и как ее устранить.