Status |
Proposal under development |
Special Note |
Google Summer of Code 2008 project |
Target Release |
4.1 |
JIRA Issue |
|
Original Authors |
Tatyana Tokareva, Dave Johnson |
OpenID is a technology that allows users to use one username/password pair to login to large number of web sites, but to never have to reveal their password to any of those sites. Instead of establishing a username/password pair on each site, a user instead registers with an OpenID provider site (e.g. claimid.com) and receives in return a unique OpenID identifier URL. When logging into a site that supports OpenID logins, known as an OpenID consumer site, the user specifies this URL to the consumer site, is directed to the provider site to login and then back to the consumer site in a logged in state.
This proposal is for adding OpenID support to Roller so that Roller can act as an OpenID consumer.
Here are the basic requirements to be satisfied by this proposal:
Here are the major issues we discussed during the development of this proposal:
Here is an overview of the design of the OpenID consumer support in Roller:
We will use Spring Security v2.0.3 (the latest release) and its OpenID support feature.
We will add a new database table 'roller_userattribute' and a new POJO UserAttribute to store each user's OpenID identifier URL. Later, this table can be used to associated other data with each user.
Add methods for setting and getting user attributes.
Add a new startup property called 'authentication.openid' with three possible values: disabled, hybrid and only. See the requirements for the meanings of these strings.
Add an OpenID identifier field that will be shown in hybrid and only modes. Here's what the form will look like in hybrid mode:
Add an OpenID identifier field that will be shown in hybrid and only modes. Here's what the form will look like in hybrid mode:
Add an OpenID identifier field that will be shown in hybrid and only modes.
Please comment on the Roller-dev mailing list.