Przekaż OpenID firmie Google (NIE Google Apps)

85

Czy mogę używać mojej osobistej witryny / bloga do logowania się do witryn korzystających z OpenID i delegowania na moje konto Google?


OK, przeszukałem to pytanie na SO, ale nie ma dobrej odpowiedzi. Po jakimś czasie zorientowałem się, jak to zrobić. Sam odpowiem na to, aby się tym podzielić.

Rio
źródło
3
Dodaj odpowiedź na własne pytania i oznacz jako poprawną, dzięki czemu każdy zobaczy, jaka była odpowiedź w bardziej wytrwały sposób
Oskar Kjellin
Dzięki Oskar za cynk! Jednak nie mogę teraz oznaczyć odpowiedzi jako poprawnej. Mówi, że muszę poczekać do jutra.
Rio,
Przeniosłem odpowiedź z pytania do twojej odpowiedzi, mam nadzieję, że nie masz nic przeciwko, ale tak ogólnie jest używany SO.
Tom Robinson,
@tjrobinson bardzo dziękuję! :)
Rio
1
Żałuję, że pytanie nie zostało zmodyfikowane, ponieważ teraz nie rozumiem odpowiedzi.
Eric Falsken

Odpowiedzi:

98

Teraz można przekazać OpenID na swoje konto Google (nie na Google Apps) .

Nie, to nie jest użycie dostawcy demonstracyjnego OpenID korzystającego z App Engine. To jest Twoje PRAWDZIWE konto Google!

Najpierw musisz włączyć swoje Profile Google . Spróbuj wyświetlić swój profil i edytować go, powinna istnieć opcja ustawienia adresu URL profilu. Masz dwie możliwości: użyj nazwy swojego konta Gmail (bez części @ gmail.com) jako swojego identyfikatora profilu lub przypisanego losowo numeru. Do Ciebie należy decyzja, którego użyć. Tak czy inaczej, ten identyfikator to identyfikator Twojego profilu poniżej.

Teraz dodaj następujący kod HTML do swojej strony delegującej:

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

I gotowe. Teraz spróbuj zalogować się SO za pomocą niestandardowego adresu URL!

tjrobinson
źródło
1
Czy mogę mieć stronę delegowania hosta Google, tak jak robi to MyOpenID?
Piotr Dobrogost
4
Ponieważ google jest teraz z plusem, adres URL profiles.google.com nie jest już tym, co otrzymujesz, przechodząc do „mojego profilu”, jeśli jednak Twój profil to plus.google.com/107217643432815688625/posts, to profiles.google.com/ 107217643432815688625 nadal wydaje się działać jako Twój openid2.local_id
smoofra
8
Obecnie z G + trzeba wstawić:<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 Z mojego doświadczenia wynika, że ​​po zmianie pełnomocnika jedyną rzeczą, która się dzieje, jest przekierowanie do nowej witryny w celu uwierzytelnienia. Pierwsza witryna nadal zna Twoją tożsamość jako dowolnej witryny, z której delegujesz. Dlatego zmiana dostawcy uwierzytelniania jest bardzo łatwa.
Ilari Kajaste,
2
@Sebi, wypróbowałem Twoje linkelementy, ale użyłem mojej tożsamości Google jako mojej deklarowanej tożsamości, zamiast mojego delegującego adresu URL *. Zapytał mnie również, którego konta z moich dwóch aktualnie zalogowanych kont chcę użyć, więc najwyraźniej plus.google.comnie jest to poprawna nazwa hosta. profiles.google.comZamiast tego użyłem nazwy z Gmaila i zadziałało zgodnie z oczekiwaniami. Nie sprawdziłem, jak korzystać z profiles.google.com z tożsamością Plus. * SuperUser poprosił o utworzenie nowego konta [email protected]zamiast logowania się do mojego istniejącego konta na podstawie adresu URL OpenID, który mu podałem.
clacke
8

Pomimo tego, co mówi zaakceptowana odpowiedź, nie musisz dołączać do Google+, aby korzystać z Google jako pełnomocnik, ponieważ masz już lokalny identyfikator, będący częścią Twojego e-maila poprzedzającego @.

Biorąc pod uwagę istniejące konto Google z [email protected]adresem, potrzebujesz po prostu następujących dwóch linków w headsekcji strony, do której przekazano dostęp :

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

Właśnie to zrobiłem i zweryfikowałem, że działa bez dołączania do Google+.

Lawrence Dol
źródło