[openstack-dev] [Keystone][Horizon] CORS and Federation

Adam Young ayoung at redhat.com
Tue Sep 16 22:39:59 UTC 2014


Phase one for dealing with Federation can be done with CORS support 
solely for Keystone/Horizon  integration:

1.  Horizon Login page creates Javascript to do AJAX call to Keystone
2.  Keystone generates a token
3.  Javascript reads token out of response and sends it to Horizon.

This should support Kerberos, X509, and Password auth;  the Keystone 
team is discussing how to advertise mechanisms, lets leave the onus on 
us to solve that one and get back in a timely manner.

For Federation, the handshake is a little more complex, and there might 
be a need for some sort of popup window for the user to log in to their 
home SAML provider.  Its several more AJAX calls, but the end effect 
should be the same:  get a standard Keystone token and hand it to Horizon.

This would mean that Horizon would have to validate tokens the same way 
as any other endpoint.  That should not be too hard, but there is a 
little bit of "create a user, get a token, make a call" logic that 
currently lives only in keystonemiddleware/auth_token;  Its a solvable 
problem.

This approach will support the straight Javascript approach that Richard 
Jones discussed;  Keystone behind a proxy will work this way without 
CORS support.  If CORS  can be sorted out for the other services, we can 
do straight Javascript without the Proxy.  I see it as phased approach 
with this being the first phase.







More information about the OpenStack-dev mailing list