Delegar OpenID ao Google (NÃO Google Apps)

85

É possível usar meu site / blog pessoal para fazer login em sites que usam openid e delegar à minha conta do Google?


OK, eu pesquisei essa pergunta no SO, mas nenhuma resposta boa. Depois de passar algum tempo descobri como fazer. Vou responder sozinho como uma forma de compartilhar.

Rio
fonte
3
Adicione uma resposta às suas próprias perguntas e marque como correta, assim todos verão qual foi a resposta de uma maneira mais persistente
Oskar Kjellin
Obrigado Oskar pela dica! No entanto, não posso marcar a resposta como correta agora. Diz que tenho que esperar até amanhã.
Rio
Eu movi a resposta da pergunta para a sua resposta, espero que você não se importe, mas é como SO é geralmente usado.
Tom Robinson
@tjrobinson muito obrigado! :)
Rio
1
Gostaria que a pergunta não tivesse sido modificada porque agora não entendo a resposta.
Eric Falsken,

Respostas:

98

Agora é possível delegar OpenID à sua conta do Google (não ao Google Apps) .

Não, isso não é usar o provedor OpenID de demonstração usando o App Engine. Esta é a sua conta REAL do Google!

Primeiro você precisa habilitar seus perfis do Google . Tente visualizar seu perfil e editá-lo, deve haver uma opção para definir o URL do seu perfil. Você tem duas opções: usar o nome da sua conta do Gmail (sem a parte @ gmail.com) como o ID do seu perfil ou um número aleatório atribuído a você. Cabe a você decidir qual usar. De qualquer forma, esse id é o id do seu perfil abaixo.

Agora adicione o seguinte código HTML à sua página de delegação:

<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]" /> 

E está feito. Agora tente fazer o login SO com seu url personalizado!

tjrobinson
fonte
1
É possível ter uma página de delegação de host do Google para mim como o MyOpenID?
Piotr Dobrogost
4
Uma vez que o google está totalmente plusificado agora, o url profiles.google.com não é mais o que você obtém quando acessa "meu perfil", no entanto, se seu perfil for plus.google.com/107217643432815688625/posts, então profiles.google.com/ 107217643432815688625 ainda parece funcionar como seu openid2.local_id
smoofra
8
Atualmente com o G +, você precisa colocar:<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud" /> <link rel="openid2.local_id" href="https://plus.google.com/GPLUSID" />
Sebi
1
@ChrisQuenelle De acordo com minha experiência, quando você muda seu delegado, a única coisa que acontece é que você é direcionado para o novo site para autenticação. O primeiro site ainda conhece sua identidade como o site do qual você está delegando. Portanto, é muito fácil trocar de provedor de autenticação.
Ilari Kajaste
2
@Sebi, tentei seus linkelementos, mas eles usaram minha identidade do Google como minha identidade reivindicada, em vez de meu URL de delegação *. Além disso, ele me perguntou qual conta das minhas duas contas atualmente conectadas eu queria usar, portanto, aparentemente, plus.google.comnão é o nome de host correto a ser usado. Usei profiles.google.comcom meu nome do gmail e funcionou conforme o esperado. Não verifiquei como usar profiles.google.com com uma identidade Plus. * SuperUser pediu para criar uma nova conta em [email protected]vez de fazer login na minha conta existente com base no URL OpenID que eu forneci.
clacke de
8

Apesar do que diz a resposta aceita, você não precisa se inscrever no Google+ para usar o Google como delegado, pois você já tem uma ID local, que consta no seu e-mail anterior a @.

Com uma conta existente do Google de [email protected], você simplesmente precisa dos dois links a seguir na headseção da página de delegado :

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

Acabei de fazer isso e verifiquei que funciona sem ter aderido ao Google+.

Lawrence Dol
fonte