Openstreetmap as a relyingparty for OpenID
|Reported by:||amm||Owned by:||tom@…|
Having to remember a new username and password for each new website is annoying and error prone and so being able to have a single sign on solution such as OpenID for OpenStreetMap would be nice and potentially even reduce the barrier of entry.
Attached is an initial version for implementing OpenID (as a relying party) on the main site of OpenStreetMap.
In this implementation user accounts continue to exist exactly as before including the need for email verification, however in addition to the possibility to login via username and password, with this patch it is now also possible to associate an OpenID to an existing account and login via your OpenID.
There are a couple of caveats with this though.
For one, this patch only implements OpenID login for the main website, however the OSM account credentials are needed at several other places too. E.g. talking to the API, logging in to the forum or trac, which means it is still necessary to have a password if one wants to use these services. For the API, OAuth provides an alternative and at least if you only use OAuth enabled clients, it is not necessary to have a password anymore. The wiki uses a separate user account anyway and with the mediawiki OpenID plugin this could benefit too. So I think this is a useful first step with other services to hopefully follow to make the experience even smoother.
The second caveat is that this is my first patch to the OpenStreetMap code base and indeed by first encounter of ruby or rails. So I suspect there are some problems with coding style and potentially bugs. It is a fairly short patch though so I should be able to fix up any comments fairly easily.
This patch contains one migration and in addition needs the open_id_authentication plugin ( http://github.com/rails/open_id_authentication )