2015-07-22 1 views
0

В настоящее время я занимаюсь исследованием стандартного протокола, который мы используем для SSO. Кажется, все они могут сделать один знак. что между ними главное?Что нового в OpenId, OpenId Connect и OAuth2?

+0

Возможно дублирование с этим? - http://stackoverflow.com/questions/1087031/whats-the-difference-between-openid-and-oauth – Ming

ответ

0

Найден ответ от переполнения стека безопасности. Difference Between OAUTH, OpenID and OPENID Connect in very simple term

OpenID - это протокол аутентификации, а OAuth - для авторизации. Аутентификация заключается в том, чтобы убедиться, что парень, с которым вы разговариваете, действительно тот, кого он утверждает. Авторизация заключается в том, чтобы решить, что делать с этим парнем.

В OpenID аутентификация делегирована: сервер A хочет аутентифицировать пользователя U, но учетные данные U (например, имя и пароль U) отправляются на другой сервер B, который доверяет (по крайней мере, доверяет аутентификации пользователей). Действительно, сервер B гарантирует, что U действительно U, а затем сообщает A: «ok, это подлинный U».

В OAuth авторизация делегирована: объект A получает от объекта B «право доступа», которое A может показать серверу S, которому должен быть предоставлен доступ; B может таким образом доставлять временные, специальные ключи доступа к A, не давая им слишком большой мощности. Вы можете представить сервер OAuth в качестве ключевого мастера в большой гостинице; он дает сотрудникам ключи, которые открывают двери комнат, которые они должны ввести, но каждый ключ ограничен (он не дает доступа ко всем комнатам); кроме того, ключи самоуничтожаются через несколько часов.

В какой-то степени авторизация может быть злоупотреблена в некоторой псевдоидентификации на том основании, что если сущность A получает от B ключ доступа через OAuth и показывает его на сервер S, тогда сервер S может сделать вывод, что B аутентифицирован A перед тем как предоставить ключ доступа. Поэтому некоторые люди используют OAuth, где они должны использовать OpenID. Эта схема может быть или не быть просветляющей; но я думаю, что эта псевдо-аутентификация более запутанна, чем что-либо. OpenID Connect делает именно это: он злоупотребляет OAuth в протоколе аутентификации. В аналогии отеля: если я столкнулся с предполагаемым сотрудником, и этот человек показывает мне, что у него есть ключ, который открывает мою комнату, тогда я полагаю, что это настоящий сотрудник, исходя из того, что ключевой мастер не дал ему ключа который открывает мою комнату, если он не был.