Неявный поток предоставления OAuth: последствия для безопасности и альтернатива передаче маркера доступа приложению во фрагменте URL

#oauth-2.0 #oauth

Вопрос:

Я просматривал неявный поток грантов, и похоже, что в некоторых приложениях маркер доступа передается обратно в приложение с помощью фрагмента URL-адреса (см. Эти документы Okta: https://developer.okta.com/blog/2018/05/24/what-is-the-oauth2-implicit-grant-type#the-implicit-grant)

Мне любопытно следующее:

  1. Каковы последствия для безопасности передачи маркера доступа обратно в приложение таким образом?
  2. Есть ли какой-либо другой способ безопасно передать токен доступа обратно в приложение?

Ответ №1:

Потоки, возвращающие токены доступа непосредственно из конечной точки авторизации, устарели и не должны использоваться новыми приложениями. С ними нет новых обнаруженных проблем, просто это было разработано для решения проблемы, которая больше не является проблемой (межсайтовые запросы, CORS, прошли долгий путь с 2010 года).

Неявный поток OAuth 2 вместе с типом предоставления пароля не рекомендуется https://datatracker.ietf.org/doc/html/draft-ietf-oauth-security-topics-18 а также https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-02

  1. видишь https://medium.com/oauth-2/why-you-should-stop-using-the-oauth-implicit-grant-2436ced1c926
  2. используйте поток кода, или гибридный поток OIDC, или используйте режим ответа form_post