Nova openid service
- Launchpad Entry: OpenID Authentication Service API in OpenStack Nova
- Created: Rasib Hassan Khan
- Contributors: Rasib Hassan Khan, Jukka Ylitalo, Abu Shohel Ahmed
Summary
Currently, the Django-Nova/Dashboard supports only basic username/password based access. There is separate user credential management both on the web service point and OpenStack. OpenStack relies on the web server for user authentication resulting in Multiple Policy Decision Points (PDP). Integration of OpenIDwith Openstack allows flexible SSO mechanism for administrators. The solution also removes the existing multiple identity silos in web server and OpenStack.
Release Note
Integration of OpenIDSSO Authentication service for OpenStack. Includes implementations of APIs in OpenStack for OpenIDService, and incorporates extension of Django-Nova/Dashboard to use the APIs to allow administrative login into web server.
User stories
OpenIDURL for administrative user is used to provide flexible SSO solution, and use OpenStack services from Dashboard.
Design
{{http://wiki.openstack.org/StartingPage?action=AttachFile&do=get&target=nova-openid-block-diag.png}}
1: User requests OpenID login
2: API OpenidAuthReq called
3: Endpoint Discovery
4: Receive OP meta-info
5: Response XML (redirection info.)
6: Redirect to OpenID provider
7: User authentication at OP
8: Redirect back to Dashboard
9: API OpenidAuthVerify called
10: Discover and verify
11: Verification response
12: Response XML (user info.)
13: Login user