My first ever programming project (I was 11) was basically this (edit: from a UI perspective, not under the hood), in PHP. I had no idea what I was doing, the architecture was questionable and at this point decentralization and OpenID were new and hot. It flopped horribly; it would have been a nightmare had it taken off, but it was fun.<p>My flow was basically this: website links to <a href="http://my-site/login?to=http://site.com/authenticate" rel="nofollow">http://my-site/login?to=http://site.com/authenticate</a>. User logs in against my MySQL database with an email I verified and a password. If successful, I generate a "ticket" number, my site makes an HTTP post to <a href="http://site.com/recevive" rel="nofollow">http://site.com/recevive</a> with md5(ticket number + secret key) and the user's details, and then the user is redirected to <a href="http://site.com/authenticate?ticket=12345" rel="nofollow">http://site.com/authenticate?ticket=12345</a>. Site.com verified the ticket using its API key and stuck it in its database. When the user hits site.com/authenticate, it looks it up by ticket number and has that person's details.<p>Obviously a terrible idea for a number of reasons (MD5, the race condition between the user and the ticket, and the reliance on my shared server being up) but my 11-year-old self thought it was pretty cool. Just thought I'd share.