Делегирование OpenID Connect с Google теперь, когда они осуждают своего поставщика OpenID2?

Делегирование OpenID Connect с Google теперь, когда они осуждают своего поставщика OpenID2?

14.01.2015 05:15:53 Просмотров 75 Источник

Годами 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?

Nat Sakimura

19.01.2015 01:36:13

Предполагая, что вы хотите использовать свой собственный домен в качестве идентификатора входа пользователя --

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

Кроме того, если StackOverflow поддерживает OpenID Connect Migration 1.0 и предполагает, что Google возвращает ваш пользовательский домен claimed_id в ответе на миграцию, то:

  1. Разместите документ JSON, как описано в разделе http://openid.net/specs/openid-connect-migration-1_0.html#VerifyOPAuthority в вашем домене.

это бы сгладило твой путь.

https://stackoverflow.com/questions/27945031/openid-connect-delegation-with-google-now-that-they-are-deprecating-their-openid/28022632#comment44432496_28022632
Я не думаю, что Google может поддерживать возврат пользовательского домена claimed_id, потому что они не сохранили его, и он не передается. Это означало бы, что истинное делегирование не поддерживается, но это ограничено (предполагая, что SO начинает поддерживать обнаружение) только для обнаружения через пользовательский домен/имя. Основным идентификатором станет конкретный идентификатор Google, который, скорее всего, победит цель плаката.
https://stackoverflow.com/questions/27945031/openid-connect-delegation-with-google-now-that-they-are-deprecating-their-openid/28022632#comment44439901_28022632
да... в противном случае вы всегда можете настроить свой собственный IdP, используя мой проект с открытым исходным кодом, например bitbucket.org/PEOFIAMP/phpoidc :-)
https://stackoverflow.com/questions/27945031/openid-connect-delegation-with-google-now-that-they-are-deprecating-their-openid/28022632#comment44489041_28022632
Спасибо! Мое чтение спецификации discovery заключается в том, что мне нужно будет использовать HTTPS. Меня это вполне устраивает. Единственное препятствие - это то, будет ли и когда переполнение стека поддерживать обнаружение OpenID Connect. Кто-нибудь знает? И, наконец, не похоже, что мне нужна миграция, поскольку тот же идентификатор (или версия HTTPS в любом случае) будет продолжать работать. Есть комментарии?
https://stackoverflow.com/questions/27945031/openid-connect-delegation-with-google-now-that-they-are-deprecating-their-openid/28022632#comment44489693_28022632
На самом деле, может быть @HansZ. говорит, что это не сработает. Другими словами, OpenID Connect discovery не имеет никакой аналогии с "заявленным идентификатором" против "OP-Local Identifier" в делегировании OpenID2. Я мог бы это сделать tupelo-schneck.org/robert утверждают, что Google является "эмитентом" этого идентификатора, но поскольку Google не знает или не заботится об этом идентификаторе, это на самом деле не принесет никакой пользы. Это правда?
https://stackoverflow.com/questions/27945031/openid-connect-delegation-with-google-now-that-they-are-deprecating-their-openid/28022632#comment44489725_28022632
Или это @HansZ. говоря, что я смогу успешно войти в систему с помощью tupelo-schneck.org/robert , но переполнение стека будет думать, что я на самом деле что-то.гугл.что-то ? Это может быть достаточно хорошим...
https://stackoverflow.com/questions/27945031/openid-connect-delegation-with-google-now-that-they-are-deprecating-their-openid/28022632#comment44489798_28022632
действительно, последнее: если так реализует Discovery, и вы реализуете Discover (webfinger) штук на вашем домене, то вы сможете использовать свой URL для входа в систему, но так будет по-прежнему видеть идентификатор Google; альтернатива, просто нажав на большую кнопку "Войти с учетной записью Google" сохраняет хлопот как для SO, так и для вас...
nov matake

20.01.2015 03:25:17

Переключение вашего провайдера OpenID с Google на Yahoo! на вашем сайте может работать для вас, пока Yahoo! останавливает его OpenID 2.0 функцию.

Однако, если вы в порядке для 1-го предложения Nat, это будет более стабильный способ в течение более длительного времени.

Является ответом!
Hans Z.

20.01.2015 11:02:24

OpenID Connect поддерживает только обнаружение, которое предназначено для поиска вашего провайдера на основе некоторой подсказки, которую вы ему даете (электронная почта, учетная запись, URL, домен и т. д.); он не даст вам постоянного идентификатора, для которого вы можете делегировать аутентификацию настраиваемому поставщику по вашему выбору.

Поэтому, если вы хотите использовать только пользовательский URI для поиска своего провайдера, вы можете использовать подход, который дал Nat (за исключением последнего бита, который Google не делает и не может сделать, и предполагая, что SO поддерживает обнаружение).

Но если вы хотите истинное делегирование, так что RPs может использовать идентификатор, возвращаемый OP, который является постоянным по различным OPs, которые вы делегируете, то вы не можете.

Для StackOverflow вам, вероятно, не нужен ни один из них: SO использует свой собственный основной идентификатор/учетную запись, и вы можете связать с ним несколько учетных записей, включая Google. только если бы вы использовали свой пользовательский URI в качестве своего основного идентификатора, у вас была бы проблема. В этом случае нет никаких проблем и вы можете:

  1. используйте кнопку Google login, или
  2. введите свой пользовательский URI в поле ввода URL OpenID, предполагая, что вы и реализовали обнаружение

Но оба 1. и 2. действительно дают тот же результат: они узнают, что Google находится там, где вы хотите аутентифицироваться.

https://stackoverflow.com/questions/27945031/openid-connect-delegation-with-google-now-that-they-are-deprecating-their-openid/28054173#comment45315519_28054173
Возможно, это заслуживает отдельного вопроса. Я бы предположил, что Роберт настроил делегирование по той же причине, что и я: потому что я хотел иметь возможность менять поставщиков аутентификации, не переходя на все отдельные сайты, которые используют пользовательский URI в качестве идентификатора пользователя. Stack Overflow / Exchange-один из немногих сайтов, который имеет представление о том, что пользователь SO/SE может иметь несколько идентификаторов, другие просто не хотят. я не хочу создавать что-то новое, если все это снова свяжет меня с Google. Если я переключаю поставщиков аутентификации, я просто откладываю неизбежное, если другие отбрасывают OpenID 2.0?
Закрыть X