OpenID Logo

„OpenID ist ein dezentrales System zur Identifizierung“ (WikiPedia).
OpenID bietet die Möglichkeit, Login Daten an zentraler Stelle anzugeben und diese als Authentifizierung für andere Webseiten zu verwenden. Simple Registration Extension (kurz SREG) ist eine Erweiterung zu der OpenID Authentifizierung, der einen simplen Profil-„Austausch“ erlaubt.
SREG ist, wie der Name schon sagt, „nur“ ein Simples Format, deshalb wurde eine Erweiterung mit dem Namen Attribute Exchange (AX), welches wesentlich mehr Informationen beinhaltet, entwickelt.

Chris Messina stellt sich in seinem Artikel „hCard for OpenID Simple Registration and Attribute Exchange“ die Frage warum bei der Definition der ersten AX-Typen (genauso wie bei SREG) versucht wird, Profil-Daten neu zu definieren, anstatt auf bestehende Standards wie die vCard (RFC2426) zurück zu greifen. Er argumentiert sein Anliegen mit der weiten Verbreitung der vCard und seines XHTML Pendants der hCard:

Most importantly, however, hcard and vcard is already widely supported in existing applications like Outlook, Mail.app and just about every mobile phone on the planet and in just about any other application that exchanges profile data.

Chris hat sich die Mühe gemacht, die drei Standards einander gegenüber zu stellen:

AttributeSREGAXvCard
NicknamenicknamenamePerson/friendlynickname
Full NamefullnamenamePersonn (family-name, given-name) or fn
BirthdaydobbirthDatebday
Gendergendergendergender
Emailemailcontact/emailemail
Postal Codepostcodecontact/postalCode/homepostal-code
Countrycountrycontact/country/homecountry-name
Languagelanguagepref/languageN/A
Timezonetimezonepref/timezonetz
PhotoN/Amedia/image/defaultphoto
CompanyN/Acompany/nameorg
BiographyN/Amedia/biographynote
URLN/Acontact/web/defaultURL

Update: Chris Messina hat eine vollständige Liste der Attribute im Microformats Wiki erstellt.

AX und vCard/hCard haben zwar weitestgehend die gleichen Attribute, unterscheiden sich jodoch in der Bezeichnung, was es Entwicklern unnötig schwer macht, die verschiedenen Formate zu implementieren.

Tantek Çelik (einer der Microformats Ur-Väter) beschäftigt sich weiter mit dem Problem und definiert mögliche Schritte um die hCard als Attribute Exchange für OpenID zu verwenden:

URLs for properties. Every SREG property has a URL in its Attribute Exchange (AX) version that defines that property. hCard does too, through the hCard profile. However, there are two differences which may be seen as shortcomings. Currently the hCard profile on microformats.org is in a wiki, and not proper XMDP (there is an hCard XMDP profile at W3C that some are using), and, URLs for specific properties use # fragment identifiers.

Soweit ich das ganze verstanden habe ist AX sowieso eine weitgehend offene Definition, welche es ermöglicht Typen über URIs zu definieren. D.h. es sollte möglich sein z.B. den vCard/hCard-Typ fn folgendermassen zu implementieren:

openid.ax.type.fn=http://microformats.org/profile/hcard#fnCode-Sprache: JavaScript (javascript)

Bitte korrigiert mich falls ich etwas falsch verstanden habe.

Ich finde die Idee, Microformats für OpenID einzusetzen, sehr gut und bin generell für die Nutzung von offenen Standards. Je höher die Wiederverwendbarkeit von Standards, desdo geringer der ist die Barriere sie einzusetzen. Jeder der schon mehr als ein fremdes System über eine proprietäre API angebunden hat wird mir da sicher zustimmen.

Weiterführende Informationen:

5 Kommentare zu “hCard als Attribute Exchange für OpenID

  1. Ich habe mich auch schon mal etwas über SREG/hCard gewundert. Das wird gerade einem Endanwender nicht unbedingt klar, warum es zwei (mit AX drei) (offene) Möglichkeiten geben soll, Profildaten zu beschreiben.

    Die von Dir aufgezeigte Möglichkeit fn über AX zu beschreiben, sieht plausibel aus. Geht in Richtung Tantek’s Vorschlag.

  2. @Carsten: Stimmt, das Public Profile von myopenid.com verwendet die hCard. Das ist mir nie aufgefallen, da ich das Public Profile nie aktiviert hab. Danke für den Tip, bringt mich glaich auf ne neue Idee. Ich glaub ich muss heute abnend nochmal was posten 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert