#oauth-2.0 #openid-connect
#oauth-2.0 #OpenID-connect
Вопрос:
Например, facebook, OAuth2 возвращает информацию о пользователе, такую как электронная почта, имя и т.д. Так почему говорят, что OAuth2 — это просто протокол авторизации, а OpenIdConnect — это уровень идентификации поверх OAuth2. Разве мы не можем использовать этот идентификатор электронной почты (возвращаемый из OAuth2) для идентификации пользователей и создания их в базе данных нашего приложения? Также какую дополнительную информацию OpenIdConnect отправляет приложениям? Когда использовать OAuth2 и когда использовать OpenIdConnect?
Ответ №1:
OpenID Connect выводит в таблицу стандартизированный токен идентификации, чтобы клиент мог стандартизированным способом получить подробную информацию о пользователе, а затем с помощью этого id-токена создать сеанс локального входа.
Это также стандартизирует некоторые другие вещи, которые в противном случае с OAuth 2.0 могли бы отличаться в зависимости от реализации. Это упрощает взаимодействие и интеграцию, поскольку все больше вещей стандартизировано.
Этот вопрос может дать вам более подробную информацию.
Ответ №2:
Границы часто размыты, как вы говорите, и обычно мы хотим практичности, а не жаргона безопасности, так что, надеюсь, это поможет.
OAUTH И ДЕЛЕГИРОВАНИЕ
OAuth позволяет пользователю дать согласие на доступ третьей стороны к ресурсам пользователя, после чего третьей стороне предоставляется токен доступа.
OAUTH И КОМПАНИИ-РАЗРАБОТЧИКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
OAuth OIDC используется в подавляющем большинстве программных сценариев, поскольку он удобен для Интернета, мобильных устройств и API. В корпоративном программном обеспечении обычно не задействована третья сторона, поэтому вам не нужно использовать OAuth для делегирования.
OAUTH И АУТЕНТИФИКАЦИЯ
В стандартах OAuth ничего не говорится об аутентификации. Однако на практике всегда есть что-то, что позволяет пользователю войти в систему, а затем вы доверяете выпущенным токенам.
OPEN ID CONNECT
Это обеспечивает подтверждение аутентификации в пользовательском интерфейсе в виде проверяемого токена id. Токен id может включать дополнительные проверки безопасности, как описано здесь.
OIDC также предоставляет некоторую желанную стандартизацию с точки зрения конечных точек и форматов сообщений / токенов, чтобы упростить код вашего приложения.
ЧТО ДЕЛАТЬ?
Всегда стремитесь использовать OIDC для обеспечения безопасности вашего пользовательского интерфейса — в наши дни это требуется большинству провайдеров. Если некоторые поставщики входа / удостоверения личности это не поддерживают, вы можете заставить свой пользовательский интерфейс делать это, что в любом случае является предпочтительным шаблоном:
- Перенаправление на ваш сервер авторизации с использованием OIDC
- Подключитесь к поставщику удостоверений, используя все, что они поддерживают