Ich habe in den Quellcodes von verschiedenen Seiten ein LINK Tag mit dem Verweis auf OpenID gefunden. Da ich selbst gerade erst anfange OpenID richtig zu nutzen, habe ich versucht festzustellen, wozu dieser LINK Tag dient.
Bisher habe ich OpenID meistens nicht genutzt, weil ich mir einfach die URL zu einem meiner OpenID-fähigen Accounts nicht merken konnte. Als ich auf stackoverflow.com allerdings auf eine Frage gestoßen bin, die ich beantworten wollte, habe ich mich dann dazu entschieden hier einen OpenID anstelle eines „echten“ Account zu verwenden. Auf der Anmeldeseite von stackoverflow.com wird einem das auch super einfach gemacht, da man hier einfach den OpenID Provider anklicken muss und sofort auf die Anmeldeseite weitergeleitet wird.
Den eigenen Blog als OpenID Account nutzen
Doch zurück zum Thema. Um dem Dilemma mit der OpenID URL zu entgehen, kann man die URL zum eigenen Blog oder zur eigenen Website als OpenID URL nutzen. Dazu muss man lediglich die URL zum eigentlichen OpenID Provider in den HEAD der Seite einbinden. Hier sind exemplarisch mal drei Beispiele, wie so etwas aussehen könnte:
<!-- Google --> <link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud?source=profiles" /> <link rel="openid2.local_id" href="http://www.google.com/profiles/USER" />
<!-- AOL --> <link rel="openid.server" href="https://api.screenname.aol.com/auth/openidServer" > <link rel="openid.delegate" href="http://openid.aol.com/USER" >
<!-- WordPress.com --> <link rel="openid.server" href="http://USER.wordpress.com/?openidserver=1" /> <link rel="openid.delegate" href="http://USER.wordpress.com/" />
Anstelle von USER müsst ihr dann natürlich euren Nutzernamen eintragen und ihr dürft nur einen OpenID Provier auf eurer Seite einbinden. Es gibt vermutlich für alle OpenID Provider eine „openid.server“ oder „openid.provider“ URL in Version 1 oder 2. Falls ihr also z.B. Yahoo als OpenID nutzen möchtet, müsst ihr einfach mal nach der entsprechenden URL suchen. Wer noch keinen OpenID-fähigen Account hat und sich auch bei keinem der bekannten diese anmelden möchte, kann auch bei myopenid.com einen Account anlegen. Dort findet ihr auch eine Liste von Websites, die OpenID unterstützen sowie die URL für den LINK Tag.
Der Lohn für die Mühe
Wer sich jetzt noch fragt wozu das ganz gut ist, hier folgt die Auflösung. Wenn ihr auf eine Website kommt, die euch die Anmeldung per OpenID ermöglicht, müsst ihr lediglich die URL zu eurer Seite eintragen und schon könnt ihr euch bei der Website über euren hinterlegten Account identifizieren und diese URL könnt ihr euch natürlich gut merken.
Wenn ihr z.B. Google als Account nutzt und über den Browser bereits bei Google angemeldet seid, dann spart ihr euch zusätzlich noch das eingeben eurer Account Daten bei Google. Das funktioniert, weil es sich bei OpenID um ein sogenanntes Single Sign-On Verfahren handelt.
Ein weiterer wichtiger Vorteil
Neben der einfach zu merkenden URL gibt es noch einen weiteren Vorteil an dieser Lösung. Nehmen wir an ihr habt euren OpenID Account bei einem Anbieter, der euch irgendwann nicht mehr gefällt. Damit ihr nun einen neuen OpenID Anbieter bei den von euch besuchten Websites nutzen könnt und dabei eure Profil bei der Website nicht verliert, muss die Website eine Möglichkeit zum Ändern der OpenID anbieten. Ist dies nicht der Fall verliert ihr eventuell euer gesamtes Profil. Wenn ihr allerdings euren eigenen Server verwendet könnt ihr jederzeit die beiden URLs im HEAD gegen einen anderen Provider austauschen und weiterhin dieselbe URL zum Anmelden verwenden.
Wenn jemand von euch weitere wichtige URLs kennt, kann er sie mir gerne in einem Kommentar zukommen lassen. Ich nehme sie dann gerne mit in die Liste auf. Es sollte aber kein Problem sein die passende URL mit ein bisschen Suche auch zu finden. Ich hoffe, dass euch der kleine Tipp weiterhelfen konnte.
Man kann OpenID sogar ohne einen externen OpenID Provider benutzen. Wie das geht, zeigt phpMyID: http://siege.org/projects/phpMyID/
Das geht natürlich auch erfordert aber auch einiges mehr an Kenntnissen. Wer einen eigenen WordPress Blog hat kann auch die Benutzerverwaltung des eigenen Blogs mit dem Plugin OpenID. Aber das ging mir über meine Bedürfnisse etwas hinaus. Mir reicht eine einfache URL zum anmelden auf Seiten mit OpenID Support. Und da ich fast immer in Google eingeloggt bin aber nicht ständig in meinem Blog, hat sich das angeboten.
[…] (oder man verwendet seine eigene URL, wenn man dort seine Daten wie in meinem Artikel “Die eigene Domain als OpenID benutzen” beschrieben hinterlegt hat). Dort gibt man dann seine Zustimmung zur Übermittlung von Name, […]
[…] http://instant-thinking.de/2009/08/1…selber-hosten/ https://kau-boys.de/864/allgemein/die…penid-benutzen der Dresdner Stollen, Weihnachtsdeko aus'm Erzgebirge, Pulsnitzer Pfefferkuchen … sagt mal, […]
bist du da sicher? aber der Zielserver speichert die ID des externen OpenID Provider und validiert auch gegen sie. Wenn dieser nun „abhaut“ und man den head Eintrag anders setzt bekommt der Zielserver nichts mit.
Der Vorteil ist immernoch dass man sich den html-head besser merken und tippen kann 😉
Wenn der Online-Dienst, der OpenID als Login anbietet das entgegen der Spezifikation so implementiert, hat man natürlich Pech. Ich nutze aber z.B. meine Domain als Login per OpenID bei Stackoverflow.com und Co. und dort sehe ich in meinem Profil auch meine Domain als OpenID gespeichert und nicht die von Google. Ich musste die OpenID von Google auch schon mal anpassen, da sich die URL dafür geändert hat. Ich konnte mich aber danach weiterhin ohne Probleme bei Stakoverflow anmelden.
Es ist also nicht garantiert, dass es immer funktioniert, aber wenn der Online-Dienst es richtig implementiert hat, dann sollte es auch klappen.
Tatsache. Ich hab bisher https://www.myopenid.com/ und CNAME genutzt (aber auch mit metaeintrag probiert). Mit http://claimid.com/ geht das mit der eigenen domain richtig;)