Ich bin momentan dabei, mich in die OpenID Thematik einzuarbeiten. Die Idee dahinter ist so einfach wie genial: Nur noch ein einziger Login, also nur noch ein einziges Passwort, für alle Webseiten. Um sich bei beliebigen Webseiten einzuloggen wird man dazu zu einer persönlich ausgewählten Seite weitergeleitet, bei der man sich mit seinem Username und seinem Passwort einloggt. Diese kommuniziert dann im Hintergrund mit der Webseite, auf der man sich einloggen möchte, und schon kann man dort aktiv loslegen.
Die Vorteile sind eindeutig: Für die User bedeutet das nur noch ein einziges Passwort, das man sich merken muss. Für die Webseiten-Betreiber, auf deren Seite man sich einloggen muss (Relying Party), entfällt das Thema „Passwort-Sicherheit“, das momentan nur durch das teure Bezahlen eines SSL-Zertifikats für die Webseite sicherzustellen war. Die Verschlüsselung übernimmt die Webseite, die die Passwort-Prüfung übernimmt, der OpenID Provider.
Ich habe als meinen primären OpenID Provider Yahoo gewählt. Wer einen Yahoo-Account hat, der bekommt auf Wunsch automatisch eine OpenID.
Allerdings möchte ich mich nicht überall mit „https://me.yahoo.com/USERNAME“ einloggen, sondern fände es schicker, statt dessen die Adresse einer meiner persönlichen Webseiten nutzen zu können. Gar kein Problem.
Alles, was man tun muss, um eine beliebige URL als OpenID-Kennung zu nutzen, ist in den Header der entsprechenden Seite folgende zwei Tags einzubauen:
<link rel="openid2.provider openid.server" href="https://open.login.yahooapis.com/openid/op/auth" />
<link rel="openid2.local_id openid.delegate" href="https://me.yahoo.com/USERNAME" />
Die openid2.local_id ist die Kennung, die man vom OpenID Provider bekommen hat, also die ID, mit der man sich sonst einloggen würde.
Den openid2.provider findet man heraus, indem man diese URL im Browser aufruft und sich den Quelltext der Datei anschaut und dort den openid2.provider herausliest. Für Yahoo ist dies der eben genannte „https://open.login.yahooapis.com/openid/op/auth“.
Andere OpenID-Provider findet man auf der offiziellen Webseite oder auch bei Wikipedia aufgelistet: List of OpenID providers bzw. OpenID.