Чем отличается OAuth 2.0 от OpenID Connect?

Категория: Безопасность

Просмотров: 4

Ответ:

OAuth 2.0

  • Это протокол авторизации (authorization), который позволяет одному приложению (клиенту) получить ограниченный доступ к ресурсам пользователя на другом сервисе (ресурс-сервере), без передачи пароля.

  • Например: приложение получает доступ к вашим фотографиям в Google Photos по токену.

  • Результат работы OAuth 2.0 — токен доступа (access token), который даёт приложению возможность действовать от вашего имени, но не сообщает ничего о том, кто вы.

OpenID Connect (OIDC)

  • Это протокол аутентификации (authentication), который построен поверх OAuth 2.0.

  • Он расширяет OAuth 2.0 и добавляет механизм, чтобы удостоверить личность пользователя (кто он такой) и получить его профиль (email, имя и т.д.).

  • В OIDC появляется ID-токен — подписанный JSON Web Token (JWT), который сообщает клиенту, кто именно вошёл в систему.

Главное отличие в сути:

  • OAuth 2.0 → даёт доступ к ресурсам (авторизация).

  • OpenID Connect → сообщает, кто пользователь (аутентификация), плюс может дать доступ к ресурсам.