Я читал сейчас несколько разных комментариев, но я до сих пор неясно, что OpenID Connect обеспечивает сверху OAuth 2.0.Что OpenID Connect добавляет к OAuth 2.0 (почему OAuth 2.0 не достаточен для аутентификации?)
Мое понимание:
При получении токена доступа через поток OAuth 2.0 клиент узнает, что пользователь был аутентифицирован сервером авторизации. Похоже, что OpenID Connect просто добавляет токен идентификатора с информацией пользователя, но эта информация может быть частью токена доступа или доступна через защищенный ресурс (например, отдельный ресурс UserDetails). Это, похоже, не оправдывает создание OpenID Connect, поэтому я уверен, что мне что-то не хватает ...
Спасибо за вашу помощь!
Добавление более подробной информации, которая слишком длинна для комментария. Большое спасибо за вашу помощь.
Я думаю, что я становлюсь ближе, благодаря вашим ответам. Поэтому я рассмотрел эту статью: http://oauth.net/articles/authentication/. В нем говорится, что «OAuth абсолютно ничего не говорит о пользователе». Однако вы доверяете той же службе для аутентификации конечного пользователя перед выдачей токена доступа. В разделе «Общие ловушки» в статье обсуждается, почему вы не можете использовать токен доступа для аутентификации. У меня есть следующие проблемы с этим в моем понимании:
маркер доступа в качестве доказательства подлинности маркер доступа был доказательством подлинности на некоторые до точки. Если клиент действительно хочет аутентифицировать пользователя в какой-то момент после получения токена доступа, почему бы не просто повторить существующий поток Oauth с текущим конечным пользователем, пытающимся получить доступ к клиенту?
Доступ к защищенному ресурсу в качестве доказательства То же, что и выше - если клиент требует аутентификации в любой момент повторить поток OAuth.
Injection токенов доступа Не ясно, как OpenID помогает это
Отсутствие ограничений аудитории Почему это труднее передать наивным клиенту действительный идентификатор маркера вместе с маркером доступа? Это вообще относится к потоку на стороне сервера? И снова, если нужно, повторите поток OAuth.
Ввод неправильной информации пользователя Для этого, похоже, требуется подпись, а не отдельный токен. Если поток OAuth происходит через HTTPS, добавляется ли какая-либо безопасность для поставщика удостоверений, чтобы дважды подписать данные пользователя?
Различных протоколы для каждого потенциального поставщика удостоверений Это кажется справедливым, но все еще кажется странным, если единственной целью была бы стандартизация маркеров, используемых для пользовательской информации.
Спасибо, что обратились к этому - я столкнулся с этим и перечитал его сейчас, но я не совсем понятен в объяснениях статей - я расширил свои вопросы выше. – allstar