Vor ungefähr drei Monaten hatte ich mir schon mal Gedanken zu den Schwierigkeiten der MicroID-Verifizierung gemacht:

Eine URL kann man auf zu viele verschieden Weisen schreiben, als dass sie eine valide ID abgeben könnte.

Schwierigkeiten bereiten die Seiten, die unterschiedliche URLs zulassen…

  • http://example.com
  • http://www.example.com
  • http://example.com/

…da sie zusammen mit der E-Mail – Adresse drei unterschiedliche Hash-Werte ergeben.

Ein möglicher Lösungsansatz wäre eine URI-Normalisierung, wie sie z.B. OpenID vorschlägt, einzusetzen.

Eine viel einfachere und fehlerunanfälligere Lösung ist das dynamische zusammenbauen der MicroID über die direkt aufgerufenen URI als Identifier:

  • http://example.com -> 19358536d8c443614bc7d861f4b050ee34a549b9
  • http://www.example.com -> 05c732700bfa89cd234bb7fc08cb673f7c0d88b8
  • http://example.com/ -> 9275b4dcd7cc2c997b2a5249420b422e937d36e0

(Benutzte E-Mail – Adresse: mustermann@example.com)

Beim verifizieren bräuchte man sich also nur noch auf die E-Mail – Adresse konzentrieren anstatt alle in Frage kommenden URI/E-Mail – Kombinationen durchspielen zu müssen.