MicroID is a lightweight identity layer for the web, invented by Jeremie Miller (creator of Jabber). MicroID enables anyone to claim verifiable ownership over content hosted anywhere on the web (social networking sites, discussion forums, blogs, etc.). MicroID is not an authentication or single-sign-on service, just a straightforward method for identifying content ownership that complements existing technologies such as OpenID and microformats. The technology is radically simple and enables developers to build new and unique meta services with minimal effort. It’s already being used by the likes of ClaimID, Last.fm, Ma.gnolia, Wikitravel, and Yedda. So join in the fun!
How It Works
There is no new or deep technology involved, simply hash a communication URI such as an email address, hash the URL of the site where the content is hosted, append the two hashes, and hash the concatenation. Prepend the resulting hash with the inputted URI schemes and the hashing algorithm in the following format:
hash = sha1( sha1( "mailto:email@example.com" ) + sha1( "http://www.xmpp.net/" ) )
The resulting MicroID is:
This MicroID can then be used in an HTML meta tag or class attribute as shown below.
To verify a user’s home page or ownership of any page:
<head> <meta name="microid" content="mailto+http:sha1:ca94387152e8ea62fee73c45c4bae79e54543485"/> </head>
To verify a user’s membership in (or content/microformat published on) any (trusted) 3rd party site:
<div class="vcard microid-mailto+http:sha1:ca94387152e8ea62fee73c45c4bae79e54543485"> <a class="url fn" href="http://www.saint-andre.com/">Peter Saint-Andre</a> <div class="tel">+1-303-308-3282</div> <div class="title">Patron Saint</div> </div>
To validate a user’s feedback or reputation on any moderated system (slashdot, digg, etc):
<span class="score microid-mailto+http:sha1:ca94387152e8ea62fee73c45c4bae79e54543485">5</span>
For all the gory details, read the spec.
Make Your Own MicroID
To create your own MicroID, enter an email address and website address in the following form (no validation yet, make sure you type it exactly, including the mailto: URI scheme):