Apple SSO ломается после обновления Django 4
После обновления с django 3 до django 4 функция "Sign in with Apple" начала ломаться со следующей ошибкой
Ваш запрос не может быть выполнен из-за ошибки. Пожалуйста, повторите попытку позже.
Яваскрипт, фронтенд html и Apple ID url идентичны, и в консоли нет никакой полезной ошибки. Что происходит?
Оказывается, Django 4 добавил новую настройку под названием SECURE_CROSS_ORIGIN_OPENER_POLICY, которая устанавливает заголовок Cross-Origin-Opener-Policy на same-origin
.
Добавление следующей строки в мой модуль настроек django решило проблему для меня
SECURE_CROSS_ORIGIN_OPENER_POLICY = "same-origin-allow-popups"
Я не уверен, зачем они это сделали, потому что значение браузера по умолчанию unsafe-none
, а консоль ошибок браузера не очень помогла.