2014-01-29 1 views
0

Извините, если моя терминология неточна.Является ли идентификатор OpenID приемлемым в качестве URL-адреса поставщика OpenID?

У меня есть приложение, которое действует как полагающаяся сторона OpenID. Предположим, что пользователь подписывается через OpenID и предоставляет мне URL для своего провайдера OpenID. Аутентификация происходит, и я возвращаю идентификатор OpenID.

Если мне нужно снова аутентифицировать пользователя, могу ли я всегда использовать идентификатор вместо исходного URL?

Конкретный пример, в случае, если вышеуказанное является глупостью. Чтобы использовать Google в качестве поставщика OpenID, пользователь вводит https://www.google.com/accounts/o8/id. После аутентификации Google предоставляет мне URL-адрес для идентификации, например https://www.google.com/accounts/o8/id?id=A1B2c3d45F6g7. Затем я могу выполнить аутентификацию с использованием этого URL-адреса Identity (я проверил); но гарантируется ли это для всех поставщиков?

ответ

0

Этот идентификационный URL является Идентификатором претензии. spec says, что он «ДОЛЖЕН быть использован Стороной-оппонентом в качестве ключа для локального хранения информации о пользователе». Поэтому вы можете быть достаточно уверены в том, что для любого правильно внедренного провайдера вы получите стабильный Идентификатор Заявки для данного пользователя.

ли к сведению, однако, что такой идентификатор часто частности, домен каждого RP (в хорошо технически, область, эта функция является приватность гарантией для предотвращения РП от сговора отслеживания активности пользователей через различные услуги). Таким образом, вы можете получить разные идентификаторы для одного и того же пользователя между, например, вашей промежуточной среде и вашей производственной среде.

+0

Да, я знаю, что искомый идентификатор (спасибо за правильный термин!) Является стабильным. Я хочу знать, могу ли я использовать его в качестве цели запроса OpenID. Могу ли я запрашивать аутентификацию с 'https: //www.google.com/accounts/o8/id? Id = A1B2c3d45F6g7' вместо' https: // www.google.com/accounts/o8/id'? – Chowlett