Веб-приложение Службы приложений Azure: проблема с перенаправлением входа в систему Django и Microsoft по протоколу HTTPS
URL-адрес веб-перенаправления регистрации приложений Azure (это HTTPS), как показано ниже:
С помощью Службы приложений Azure веб-приложение Django успешно развернуто:
в приведенном выше результате развертывания отображается http://, но в веб-приложении Azure отображается https://, также можно успешно открыть веб-приложение с использованием https с допустимыми значениями, как показано ниже:
Но когда веб-приложение перенаправляется на сайт Microsoft для входа в систему, оно снова использует http://, что не соответствует https://, настроенному при регистрации приложения:
Аутентификация и перенаправление MS обрабатываются пакетомms_identity_web
, код предоставлен на странице https://github.com/Azure-Samples/ms-identity-python-django-tutorial/tree/main/1-Authentication/sign-in .
В среде разработки проблем нет, поскольку я использую http://localhost:8000/auth/redirect в качестве URL-адреса веб-перенаправления при регистрации приложения.
Моя проблема могла быть такой же, как и эта: link, но она касалась деталей URL-адреса, поэтому я не уверен, что это та же самая проблема несоответствия http/https.
1 ответ
Проблема решена путем добавления приведенного ниже кода в settings.py.
SECURE_SSL_REDIRECT = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
ссылка: https://github.com/Azure-Samples/ms-identity-python-django-tutorial/issues/5