Ответы пользователя по тегу Flask
  • Как сделать кросc доменную авторизацию на Flask?

    @MartinX
    Для Flask есть расширение Flask-Session, которое предоставляет более продвинутый функционал сессий. Если авторизация на поддоменах делается проще, так как поддомены имеют доступ к кукам родительского домена и сессию легко подцеплять.

    Но если домены разные, то, в целях безопасности, куки между ними никак не передаются при запросах. Тут обычно выходят тем образом, что где-то есть единая страница входа (у хабра, например, это id.tmtm.ru). На нее ведут авторизационные ссылки со всех сайтов. После успешной аутентификации на этой странице, происходит переадресация на исходную страницу. При этом обычно передается короткоживующий токен, по которому сессия и прокидывается на сторонний домен.

    Сайты то наверняка имеют доступ к общей базе с сессиями и пользователями, так что по токену опознают пользователя, поставят свою куку и будут поддерживать сессию пользователя. Дополнительно еще встраивают JS код, который в фоне может проверить есть ли готовая сессия на странице авторизации. Если она есть, то просто производим редирект и передаем токен без запроса авторизации со стороны пользователя.
    Ответ написан
    Комментировать