Делегировать OpenID в Google (не Google Apps)

Можно ли использовать мой личный сайт/блог для входа на сайты, которые используют openid, и делегирование моей учетной записи Google?


Хорошо, я искал этот вопрос на SO, но никакого хорошего ответа. Проведя некоторое время, я понял, как это сделать. Я собираюсь ответить на это сам, чтобы поделиться им.

Ответ 1

Теперь можно делегировать OpenID вашей учетной записи Google (а не Google Apps).

Нет, это не использует демонстрационный поставщик OpenID с помощью App Engine. Это ваша реальная учетная запись Google!

Сначала вам нужно включить Профайлы Google. Попробуйте просмотреть свой профиль и отредактировать его, должна быть опция для установки вашего URL профиля. У вас есть два варианта: либо используйте свое имя учетной записи Gmail (без части @gmail.com) в качестве вашего идентификатора профиля, либо случайное число, присвоенное вам. Вам решать, какой из них использовать. В любом случае, этот id является вашим идентификатором вашего профиля ниже.

Теперь добавьте следующий HTML-код на страницу делегирования:

<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud?source=profiles" /> 
<link rel="openid2.local_id" href="https://profiles.google.com/[YOUR PROFILE ID]" /> 

И все. Теперь попробуйте войти в систему с помощью своего настраиваемого URL-адреса!

Ответ 2

Несмотря на принятый ответ, вы не должны присоединиться к Google+, чтобы использовать Google в качестве делегата, поскольку у вас уже есть локальный идентификатор, являющийся частью вашего сообщения, предшествующего @.

Учитывая существующую учетную запись Google [email protected], вам просто понадобятся следующие две ссылки в разделе вашего делегата head:

<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud">
<link rel="openid2.local_id" href="https://profiles.google.com/some-name">

Я только что сделал это и подтвердил, что он работает без подключения к Google +.