Делегирование OpenID Connect с Google теперь, когда они осуждают своего поставщика OpenID2?
Годами OpenID OpenID делегирование используется для входа в Stack Overflow (среди других сайтов), используя свой собственный URI как OpenID, но имея Google обрабатывать аутентификацию. Я использую технику, описанную в этом вопросе переполнения стека ; Итак, мой пользовательский OpenID http://tupelo-schneck.org/robert разрешает HTML-страницу, содержащую это:
<link href="https://www.google.com/accounts/o8/ud" rel="openid2.provider" />
<link href="https://www.google.com/profiles/schneck" rel="openid2.local_id" />
Теперь, однако, я вошел в Stack Overflow и попросил Google сказать мне " важное замечание: OpenID2 для учетных записей Google уходит 20 апреля 2015 года. Узнайте больше . OpenID 2.0 OpenID 2.0 является устаревшей версией Google, поэтому разработчикам следует перенести свои приложения на OpenID Connect.
Я могу продолжать использовать пользовательские URI для OpenID логин, но делегирование OpenID провайдера Google подключения для проверки подлинности? Как?
Ответы - Делегирование OpenID Connect с Google теперь, когда они осуждают своего поставщика OpenID2? / OpenID Connect delegation with Google now that they are deprecating their OpenID2 provider?

19.01.2015 01:36:13
Предполагая, что вы хотите использовать свой собственный домен в качестве идентификатора входа пользователя --
- Перейти к https://stackoverflow.com/users/login-add?returnUrl=%2Fusers%2Fcurrent и добавить логин с помощью Google. Это добавит идентификатор Google OpenID Connect в ваш аккаунт.
- Хозяин OpenID подключить открытие документа на свой домен (см. http://openid.net/specs/openid-connect-discovery-1_0.html#URLSyntax для получения подробной информации.)
- Подождите, пока StackOverflow начнет поддерживать обнаружение OpenID Connect
- Использовать http://tupelo-schneck.org/robert в качестве идентификатора пользователя
Кроме того, если StackOverflow поддерживает OpenID Connect Migration 1.0 и предполагает, что Google возвращает ваш пользовательский домен claimed_id в ответе на миграцию, то:
- Разместите документ JSON, как описано в разделе http://openid.net/specs/openid-connect-migration-1_0.html#VerifyOPAuthority в вашем домене.
это бы сгладило твой путь.

claimed_id
, потому что они не сохранили его, и он не передается. Это означало бы, что истинное делегирование не поддерживается, но это ограничено (предполагая, что SO начинает поддерживать обнаружение) только для обнаружения через пользовательский домен/имя. Основным идентификатором станет конкретный идентификатор Google, который, скорее всего, победит цель плаката.






20.01.2015 03:25:17
Переключение вашего провайдера OpenID с Google на Yahoo! на вашем сайте может работать для вас, пока Yahoo! останавливает его OpenID 2.0 функцию.
Однако, если вы в порядке для 1-го предложения Nat, это будет более стабильный способ в течение более длительного времени.

20.01.2015 11:02:24
OpenID Connect поддерживает только обнаружение, которое предназначено для поиска вашего провайдера на основе некоторой подсказки, которую вы ему даете (электронная почта, учетная запись, URL, домен и т. д.); он не даст вам постоянного идентификатора, для которого вы можете делегировать аутентификацию настраиваемому поставщику по вашему выбору.
Поэтому, если вы хотите использовать только пользовательский URI для поиска своего провайдера, вы можете использовать подход, который дал Nat (за исключением последнего бита, который Google не делает и не может сделать, и предполагая, что SO поддерживает обнаружение).
Но если вы хотите истинное делегирование, так что RPs может использовать идентификатор, возвращаемый OP, который является постоянным по различным OPs, которые вы делегируете, то вы не можете.
Для StackOverflow вам, вероятно, не нужен ни один из них: SO использует свой собственный основной идентификатор/учетную запись, и вы можете связать с ним несколько учетных записей, включая Google. только если бы вы использовали свой пользовательский URI в качестве своего основного идентификатора, у вас была бы проблема. В этом случае нет никаких проблем и вы можете:
- используйте кнопку Google login, или
- введите свой пользовательский URI в поле ввода URL OpenID, предполагая, что вы и реализовали обнаружение
Но оба 1. и 2. действительно дают тот же результат: они узнают, что Google находится там, где вы хотите аутентифицироваться.
