В OpenID specs, он говорит:OpenID: уникальный URL-адрес идентификатора? каковы различия между идентификаторами
- Идентификатор:
Идентификатор, это просто URL. Весь поток протокола OpenID Authentication доказывает, что конечный пользователь является владельцем URL-адреса.
- Заявленный Идентификатор:
Идентификатор, что конечный пользователь говорит, что они владеют, хотя это еще не было проверено Потребителя.
- Проверенно Идентификатор:
Идентификатор, что конечный пользователь доказал потребителю, что они владеют.
- Идентичность Поставщик:
Также называется "IdP" или "Сервер". Это сервер проверки подлинности OpenID, который пользовательский контакт использует для криптографического доказательства того, что конечный пользователь владеет искомым идентификатором. Как конечный пользователь аутентифицирует свой поставщик удостоверений, находится за пределами OpenID Authenticaiton.
ли URL уникальный идентификатор? Что это такое?
Если это не уникально, есть ли что-то уникальное, чтобы потребитель мог различаться между разными пользователями на одном и том же URL-адресе конечной точки OpenID?
В чем разница между IdP и URL-адресом идентификатора?
В других местах я прочитал термин «URL конечной точки OpenID».
- Является ли URL конечной точки OpenID таким же, как IdP? Итак, IdP также является URL-адресом?
В качестве примера возьмем Google OpenID. Когда какой-либо сайт запрашивает у меня идентификатор OpenID, я использую URL OpenID https://www.google.com/accounts/o8/id
. Это URL-адрес идентификатора? Если это так, то это явно не является уникальным. Часто, когда я вернусь в настройках своей учетной записи на этом сайте о моем имени входа OpenID, он не показывает этот введенный URL, но он расширил его как-то как https://www.google.com/accounts/o8/id?id=AltOawk...
. Этот URL теперь кажется уникальным.
В чем цель
https://www.google.com/accounts/o8/id
? Это URL-адрес конечной точки OpenID? Или это URL-адрес IdP (если это что-то другое)?И какова цель
https://www.google.com/accounts/o8/id?id=AltOawk...
?Это действительно уникально и всегда одинаково для my Google аккаунт? Так что URL-адрес идентифицирует меня?Почему они не использовали
https://www.google.com/accounts/o8/id?u={google-username}
вместо этого загадочного...?id=AltOawk...
?Каков URL-адрес идентификатора в случае Google?
Что такое URL-адрес конечной точки OpenID? (Что такое URL-адрес IdP?)
Причина, по которой я прошу, заключается в том, что я пытаюсь реализовать свою собственную конечную точку OpenID.
- Является ли URL конечной точки OpenID таким же, как URL-адрес идентификатора?
В моей реализации конечной точки OpenID у меня есть именно эта проблема, которая не может различаться между разными пользователями. Веб-сайт потребителя просто принимает всех пользователей в этой конечной точке OpenID как одно и то же. Конечно, это всегда один и тот же OpenID-URL, но это также относится к Googles OpenID.
- Если конечный пользователь использует этот «общий» URL-адрес, как я могу перенаправить/переслать его в моей реализации конечной точки OpenID на «конкретный»/уникальный (идентификатор?) URL-адрес? Или как я могу сделать это, чтобы различать разных конечных пользователей по одному и тому же URL OpenID?
В моей текущей реализации, когда я включаю трассировку отладки, первым запросом я получаю режим checkid_setup. В спецификациях говорится, что я получаю Идентификационный номер здесь. Из-за того, что я ввел на потребительский сайт (и моя трассировка отладки говорит то же самое), то есть «общий» URL (URL конечной точки OpenID). То есть то есть не уникальный URL.
- Должен ли я сделать перенаправление в этот момент? Спецификации ничего не говорят об этом. Где я могу указать «конкретный» URL? (В моем случае, то есть URL
http://{endpoint-url}?u={endpoint-username}
.)
Есть также термины "OpenID-сервер" (URL) и "OpenID Делегат" (URL).
Как эти термины относятся к другим условиям выше? Все равно что URL конечной точки OpenID?
Что такое идентификатор OpenID? То же, что и URL-адрес идентификатора OpenID?
Смотрите также связанный с ним вопрос: How does OpenID differ between different logins on the same OpenID endpoint?
(Meta вопрос: Должен ли я, возможно, разделить это в много независимых SO вопросов, я боюсь, что я не могу получить ответы на все мои вопросы в противном случае.)
Почему бы не 'id? U = {username} & oidrealm = {...}' а хэш? Одна из причин может заключаться в том, что, возможно, ваш адрес электронной почты может быть получен из вашего имени пользователя? (Имя пользователя Gmail?) И вы, возможно, не захотите отдать свой адрес электронной почте Оповедине. Другая причина может заключаться в том, что вы даже не хотите отсылать свое имя пользователя (даже если оно не может быть сопоставлено с вашей электронной почтой) из-за проблем с конфиденциальностью. – KajMagnus
[Здесь я нашел ответ от Google] (http://groups.google.com/group/google-federated-login-api/web/the-most-important-technical-issue-in-using-the-google -accounts-api) (я думаю): * Мы решили сделать идентификаторы для конкретных пользователей, чтобы обеспечить точность конфиденциальности для наших пользователей. Например, вы можете создать сайт, который предоставляет услуги пользователям учетных записей Google, без необходимости узнавать их личность в Google * – KajMagnus