(→Solutions) |
(→Solutions) |
||
| (4 intermediate revisions not shown) | |||
| Line 10: | Line 10: | ||
Here are general requirements, which the SSO solution should meet. Please feel free to modify the list: | Here are general requirements, which the SSO solution should meet. Please feel free to modify the list: | ||
| - | === Criteria === | + | * User identity and credentials are consistent across the sites and systems |
| + | * Once a user is authenticated to one system the user should not need to authenticate to other systems | ||
| + | |||
| + | In user story terms? In priority order? | ||
| + | * As a user | ||
| + | ** I'd like to use the same username and password to access any meego or affiliated sites | ||
| + | ** When I change my details (including my password) I want that change to be respected by all affiliated sites | ||
| + | ** Once I've entered my credentials I do not want to have to enter them again when I visit an affiliated site | ||
| + | ** Once I logout from a site, I am logged out from any affiliated sites | ||
| + | |||
| + | Could some sites be fully integrated (support all stories) and others partly (only 1+2) | ||
| + | |||
| + | === Technical Criteria === | ||
* Support for multiple programming languages | * Support for multiple programming languages | ||
| - | * Support or easy adoption for | + | * Support or easy adoption for MeeGo services: |
| - | * Abstraction from the authentication method (Database, OpenID, etc) | + | ** CMS-system (Drupal) |
| + | ** Wiki (MediaWiki) | ||
| + | ** Issue tracker (Bugzilla) | ||
| + | ** Forum (vBulletin) | ||
| + | ** News (Midgard) | ||
| + | ** Build service (OBS) | ||
| + | * Abstraction from the authentication method (Database, OpenID, LDAP, etc) | ||
* User-data management (no must, but nice to have) | * User-data management (no must, but nice to have) | ||
* Already used in big projects | * Already used in big projects | ||
| - | |||
| - | |||
== Solutions == | == Solutions == | ||
| Line 30: | Line 46: | ||
* '''[http://openid.net/ OpenID]''' is an open authentication protocol, which allows a user to use an account of a OpenID provider of his/her choice and use it to login on every service, which supports the protocol. The idea bases simply on a unique id, which is provided to the user and which identifies the OpenID provider. The typical structure is 'username.openid_provider_url'. On the service, where the user wants to login, the OpenID has to be entered and after that, the user is redirected to the OpenID login page of the provider. To provide misusage the user has to agree use the OpenID provider to sign-on the service. Finally a redirect to the original service will take place. The service application validates the incoming data with the OpenID provider and the user is logged in. | * '''[http://openid.net/ OpenID]''' is an open authentication protocol, which allows a user to use an account of a OpenID provider of his/her choice and use it to login on every service, which supports the protocol. The idea bases simply on a unique id, which is provided to the user and which identifies the OpenID provider. The typical structure is 'username.openid_provider_url'. On the service, where the user wants to login, the OpenID has to be entered and after that, the user is redirected to the OpenID login page of the provider. To provide misusage the user has to agree use the OpenID provider to sign-on the service. Finally a redirect to the original service will take place. The service application validates the incoming data with the OpenID provider and the user is logged in. | ||
* '''[http://wiki.lemonldap.ow2.org/xwiki/bin/view/NG/Documentation Lemonldap::NG]''' is a modular Web-SSO based on Apache::Session modules. It simplifies the build of a protected area with a few changes in the application. It manages both authentication and authorization and provides headers for accounting. | * '''[http://wiki.lemonldap.ow2.org/xwiki/bin/view/NG/Documentation Lemonldap::NG]''' is a modular Web-SSO based on Apache::Session modules. It simplifies the build of a protected area with a few changes in the application. It manages both authentication and authorization and provides headers for accounting. | ||
| - | + | * '''[http://oauth.net/ OAuth]''' "An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications". Released/backed by Google/Twitter. There appear to be [http://oauth.net/code/ multiple client implementations] | |
| + | * '''[http://drupal.org/project/modules Drupal Module]''' A new Drupal module can be created for each system to handle user replication as well as single-sign on, direct from the standard Drupal login page. This is the solution being used to link Drupal (meego.com) and vBulletin (forum.meego.com) via the module [http://drupal.org/project/drupalvb Drupal vB]. | ||
* '''SAML''' ... | * '''SAML''' ... | ||
Contents |
One of the result of the community web-site meeting was, that a single sign-on (SSO) concept is the basic requirement for all the different services, which should run on MeeGo.com. There are many different possibilities how to realise that, with as many pros and cons. Purpose of this wiki-page is to gather the information together and to have a meeting soon based on that information.
Here are general requirements, which the SSO solution should meet. Please feel free to modify the list:
In user story terms? In priority order?
Could some sites be fully integrated (support all stories) and others partly (only 1+2)