Какой поток OAuth использовать для нескольких API

В настоящее время я работаю над проектом, который включает в себя следующее:

  • Один центральный сервер идентификации, который аутентифицирует пользователей в Active Directory.
  • Несколько разных API, к которым разные пользователи имеют разные уровни доступа
  • Несколько веб-приложений JS, в которые пользователи входят, чтобы получить доступ к API.

Какой поток аутентификации следует использовать между веб-приложениями и сервером идентификации, который позволяет API-интерфейсам получать информацию о пользователе и авторизовать пользователя в них? Я немного застрял здесь.


person tVoss42    schedule 16.05.2017    source источник


Ответы (1)


Обычно вы используете неявный грант OAuth 2.0, чтобы получить маркер доступа для веб-приложения JS, который затем можно использовать при вызовах API. API-интерфейсы могут использовать токен доступа, чтобы узнать о владельце ресурса, предоставившем доступ к API.

Обновление: см. комментарий ниже об устаревании неявного кода вместо кода + PKCE.

person Hans Z.    schedule 16.05.2017
comment
Ответ был правильным на тот момент. Во всяком случае, я вижу, что пост довольно устарел. Для новых читателей: неявный поток из JS больше не рекомендуется из-за нескольких проблем с безопасностью (клиентский секрет в браузере и токен доступа, передаваемый через фронтканал). Вообще говоря, рекомендуется использовать поток кода аутентификации с PKCE. - person Giuseppe Di Federico; 29.04.2021