, , , ,

WordPress um OpenID Funktionalitäten erweitern

Vor wenigen habe ich meinen neuen Lieblings-Open-ID Provider meinguter.name vorgestellt. Der passende Anbieter samt Delegation-Funktion wär also gefunden, nun stellt sich die Frage: wie kann man das OpenID System am einfachsten ins eigenen WordPress Blog einbinden?

Auslöser für meine Beschäftigung mit diesem Thema war natürlich der Kommentar von Co-Pirat Francis; wenn man sich beim Infopirat neuerdings via OpenID einloggen darf, dann darf datenschmutz natürlich nicht zurückstehen 🙂

Grundsätzlich muss man zwischen zwei Anwendungsfällen unterscheiden unterscheiden: einerseits kann man die eigene Blog-URL als OpenID verwenden, andererseits könnte man Usern, die bereits über eine OpenID verfügen, erlauben, diese als Blog-Login respektive zum Kommentieren zu verwenden.

Meine WordPress-URL, meine OpenID

Meinguter.name bietet die Delegation-Funktion jedem User an:

Es ist möglich eine beliebige Homepage, z.B. den eigenen Blog als OpenID zu nutzen. Anfragen werden ganz einfach auf MeinGuter.Name weitergeleitet.

Zu diesem Behufe müsst man zwei Codezeilen im Header unterbringen – einfacher und vor allem Template-Wechsel resistent funkt’s mit WP-Yadis: das Plugin muss lediglich hochgeladen und aktiviert werden, anschließend kann man unter dem Punkt „Optionen“ beliebig viele OpenIDs verwalten; die Einstellungen für Yahoo, WP.com etc. sind bereits vorkonfiguriert, wer Meinguter.name verwenden möchte, wählt im Dropdown-Menü „Add a new OpenID provider“ die unterste Option „Other“. Das Feld „Username“ ist recht selbsterklärend, bei OpenID Server wird folgende Adresse eingetragen:

Und als OpenID Delegate kommt die eigene Meinguter.name Page zum Einsatz, also:

Das war’s auch schon – ab sofort kann die eigene Blog-URL dank der Magie der Delegation als OpenID angegeben werden; so bleibt alles in der (Domain)Familie :mrgreen:

Bitte nicht nochmal registrieren dürfen müssen!

Einer der Hauptvorteile der OpenID besteht in ihrer Funktion als Multi-Login; die wenigsten BlogleserInnen registrieren sich, um sich beim Kommentieren die Captcha-Funktion zu ersparen; ansonsten gibt es aber eigentlich wenig Grund für das Anlegen eines Accounts. Wenn OpenID unterstützt wird, kann jede/r KommentatorIn das eigene OpenID Login verwenden – und so nicht nur ohne Capture Comments verfassen, sondern zugleich seine/ihre Identität verifizieren.

Das notwendige Framework für diese Aufgabe stellt WP-OpenID bereit. Nach Installation und Aktivierung überprüft das Plugin, ob serverseitig alle Anforderungen erfüllt sein – wer alle Funktionen nutzen will und auf hohe Performance wert legt, sollte darauf achten, dass PHP libcurl unterstützt und nativ mit GMP kompiliert wurde.

Die Optionen gestalten sich relativ simpel: einmal wird ausgewählt, ob OpenID Kommentar generell freigeschalten werden sollen, anstatt in der Moderation Queue zu landen (derzeit verwenden Spammer noch keine OpenIDs, aber sobald sich das System ein wenig verbreitet, wird das rasant ändern.), zum zweiten wählt man, ob der Code im comments.php Template automatisch eingefügt werden soll – oder ob man lieber ein Extra-Feld händisch definieren möchte; die dazu nötigen Infos findet man in der readme-Datei.

Standardmäßig verwendet WP-OpenID das Homepage-Feld. Wer hier seine OpenID einträgt, braucht die anderen Felder nicht auszufüllen, da E-Mail und Username vom OpenID Provider übernommen werden. In der Praxis erfolgt beim Kommentieren ein Redirect, der User wird von seinem jeweiligen OpenID Provider gefragt, ob er die Daten einmal oder zukünftig automatisch ans betreffende Blog übermitteln soll – und das war’s auch schon.

Eigentlich simpel und elegant – für mich in der Form aber leider nicht verwendbar, da sich WP-OpenID nicht mit Math Comments Anti Spam verträgt. Als langfristiger Spamschutz macht OpenID sowieso nur dann Sinn, wenn Whitelists und Trust Authorities bereits etabliert sind, eine Antispam-Strategie ersetzen wird das System nie können. In der Praxis tritt das Problem auf, dass die Math Comment Antispam – also die Antwort auf die Rechenaufgabe, die auf datenschmutz ein grafisches Capture ersetzt – nicht mit-referred wird, sodass nach Nutzung der OpenID Option in jedem Fall die Meldung „Sie haben die Rechenaufgabe nicht gelöst“ erscheint. Math Comment Anti Spam hat mir aber in der Vergangenheit so gute Dienste erwiesen, dass mir derzeit die simple Kommentarmöglichkeit für unregistrierte User wichtiger ist – also werd ich mit der OpenID-Integration beim Kommentieren noch ein wenig zuwarten… ideal wär’s, wenn der Autor sein Plugin so umbaut, dass bei Verwendung der optionalen OpenID-Angabe die Rechenaufgabe unberücksichtigt bleibt.

5 comments
Mara
Mara

Hey, informativer Artikel, zwar habe ich etwas gebraucht ums zu kapieren aber jetzt funktioniert alles top bei mir und es geht alles viel schneller. Danke für den Artikel und den Hinweis. Grüße Mara von Handyblog

Bernd
Bernd

Das Open-ID System war mir so gar nicht bekannt und das ich es direkt in meinen Wordpress-Blog integrieren kann ist noch besser. Vielen Dank für den Artikel

Alex
Alex

Hallo, vielen Dank für diesen informativen Artikel. Gerade habe ich die beiden Plugins in meinem WP-Blog und WP-Artikelverzeichnis zum Einsatz gebracht und nun können sich zum Beispiel im Artikelverzeichnis unter Wordpress über 300 Autoren mit ihrer OpenID anmelden, falls jemand hiermit Erfahrungen hat. Vorher habe ich sowas auch nicht benutzt, aber jetzt habe ich mich bei OpenID angemeldet und vieles ausprobiert. Grüsse Alex...

Ritchie Pettauer
Ritchie Pettauer

Schneller, echt? Bei mir ging alles viel langsamer nach der Installation des Plugins ;-)

ritchie
ritchie

gern geschehen :mrgreen: Ich kannte OpenID vorher auch nur aus der Theorie und war ganz überrascht, wie problemlos das im praktischen Einsatz funkt.