Если вы когда-нибудь задумывались, в чем разница между OAuth, OIDC и SAML
Чтобы прояснить разницу, нам нужно сначала определиться, что такое аутентификация и авторизация. Аутентификация - это процесс проверки личности пользователя или устройства, в то время как авторизация - это процесс определения того, что пользователю или устройству разрешено делать после установления его личности.
Кратко:
OAuth предназначен для предоставления доступа к чужим ресурсам.
OIDC предназначен для проверки того, кто вы, и предоставления доступа к чужим ресурсам.
SAML предназначен для получения доступа к различным ресурсам из разных мест с помощью одной карты.
Развернуто:
- OAuth (Open Authorization)
OAuth (2.0) - это открытый стандарт для предоставления и реализации авторизации. Он обеспечивает безопасный делегированный доступ. Это означает, что приложение может выступать в качестве пользователя и получать доступ к endpoints (конечным точкам) или предпринимать действия на серверах в качестве этого пользователя, но не требуя от пользователя входа в систему или обмена своими учетными данными. Этот доступ является временным и используется, например, для доступа к списку контактов пользователей в Facebook.
- OIDC (OpenID Connect)
OpenID Connect - это решение с открытым стандартом / открытым исходным кодом для обеспечения и реализации процесса аутентификации. Большинство крупных технологических компаний, таких как Google, Microsoft или GitHub, поддерживают этот стандарт. Это позволяет пользователям выбирать стороннего поставщика OpenID, которого они хотят использовать для входа на любой веб-сайт, который принимает стандарт OpenID. Если вы ранее использовали свой аккаунт Google для входа в Spotify или любую другую платформу, вы видели OIDC в действии. OpenID полезен для разработчиков приложений и веб-сайтов, которые хотят аутентифицировать пользователей, но не хотят рисковать хранением записей пользователей самостоятельно из-за аспектов безопасности. Вы можете рассматривать его как SSO для пользовательских приложений.
- SAML (Security Assertion Markup Language)
SAML является открытым стандартом аутентификации и авторизации и используется в основном на предприятиях. Это фреймворк для единого входа (SSO), что означает, что если вы успешно вошли в приложение своей организации, вы также можете получить доступ к другим приложениям без необходимости повторного внесения своих учетных данных. SAML использует XML для обмена сообщениями аутентификации и авторизации между конкретными identity providers (поставщиками идентификации) для проверки личности пользователя и разрешений. Его можно рассматривать как SSO для корпоративных приложений.
Заключение:
- OAuth позволяет стороннему приложению получать доступ к ресурсам пользователя с его разрешения и без учетных данных.
- OIDC добавляет уровень аутентификации в OAuth, позволяя приложению проверять личность пользователя и получать основную информацию о профиле.
- SAML используется для единого входа на предприятие, позволяя пользователям проходить аутентификацию с помощью своих корпоративных учетных данных и получать доступ к корпоративным ресурсам.
https://t.me/itarchitecture
Post #219
506
- 👏 4
- 👍 2