Bug 1042114

Summary: [RFE][horizon]: add user registration option
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/horizon/+spec/user-registration
Whiteboard: upstream_milestone_none upstream_status_blocked upstream_definition_obsolete
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:19:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 21:00:22 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/horizon/+spec/user-registration.

Description:

Allow users to register. Right now only admin can create a new user.

Workflow
======
* Add a new signup form in horizon
* Onsubmit event of signup form, send user details to an external service (called it "security service")
* "security service" is nothing it is a webservice (We can use paste.httpserver  or flask)
* Why we need an additional service?
   * We need admin access to keystone to create a new user.
   * We can't login to keystone as admin from horizon, that is a security risk, right ?.
   * So I am planning to login to keystone as admin from "security service"
   * "security service" will makes an API call to keystone to create a new user
   * We can also save additional user details in the field 'text' of keystaon's 'user' table as json object. Or use our on Local DB.
* Security service creates user in disable mode and return the response back to horizon
* horizon will send account activation url to user's email id.
* Once the user clicks on activation link, flow is again same. First comes to horizon, then to 'security service' and makes keystone api call for user activation.

Workflow Diagram
===========
https://wiki.openstack.org/w/images/5/57/Diagram_user_registartion.pdf

Wiki Page
======
https://wiki.openstack.org/wiki/OpenStack:Horizon_User_Registration_Blueprint

Mailing List
=======
http://lists.openstack.org/pipermail/openstack-dev/2013-November/018523.html

Specification URL (additional information):

https://wiki.openstack.org/wiki/OpenStack:Horizon_User_Registration_Blueprint