<font size=2 face="sans-serif">++ to your suggestion David, I think making
the list of trusted IdPs publicly available makes sense. <br>
</font>
<br><font size=2 face="sans-serif">- Steve</font>
<br>
<br><tt><font size=2>David Chadwick <d.w.chadwick@kent.ac.uk> wrote
on 09/17/2014 09:37:21 AM:<br>
<br>
> From: David Chadwick <d.w.chadwick@kent.ac.uk></font></tt>
<br><tt><font size=2>> To: openstack-dev@lists.openstack.org, Kristy
Siu <K.W.S.Siu@kent.ac.uk>, </font></tt>
<br><tt><font size=2>> Date: 09/17/2014 09:42 AM</font></tt>
<br><tt><font size=2>> Subject: Re: [openstack-dev] [Keystone][Horizon]
CORS and Federation</font></tt>
<br><tt><font size=2>> <br>
> Hi Adam<br>
> <br>
> Kristy has already added support to Horizon for federated login to<br>
> Keystone. She will send you details of how she did this.<br>
> <br>
> One issue that arose was this:<br>
> in order to give the user the list of IDPs/protocols that are trusted,<br>
> the call to Keystone needs to be authenticated. But the user is not
yet<br>
> authenticated. So Horizon has to have its own credentials for logging<br>
> into Keystone so that it can retrieve the list of IdPs for the user.<br>
> This works, but it is not ideal.<br>
> <br>
> The situation is far worse for the Keystone command line client. The<br>
> user is not logged in and the Keystone client does not have its own<br>
> account on Keystone, so it cannot retrieve the list of IdPs for the<br>
> user. The only way that Kristy could solve this, was to remove the<br>
> requirement for authentication to the API that retrieves the list
of<br>
> IdPs. But this is not a standard solution as it requires modifying
the<br>
> core Keystone code.<br>
> <br>
> We need a fix to address this issue. My suggestion would be to make
the<br>
> API for retrieving the list of trusted IDPs publicly accessible, so
that<br>
> no credentials are needed for this.<br>
> <br>
> regards<br>
> <br>
> David<br>
> <br>
> <br>
> On 16/09/2014 23:39, Adam Young wrote:<br>
> > Phase one for dealing with Federation can be done with CORS support<br>
> > solely for Keystone/Horizon  integration:<br>
> > <br>
> > 1.  Horizon Login page creates Javascript to do AJAX call
to Keystone<br>
> > 2.  Keystone generates a token<br>
> > 3.  Javascript reads token out of response and sends it
to Horizon.<br>
> > <br>
> > This should support Kerberos, X509, and Password auth;  the
Keystone<br>
> > team is discussing how to advertise mechanisms, lets leave the
onus on<br>
> > us to solve that one and get back in a timely manner.<br>
> > <br>
> > For Federation, the handshake is a little more complex, and there
might<br>
> > be a need for some sort of popup window for the user to log in
to their<br>
> > home SAML provider.  Its several more AJAX calls, but the
end effect<br>
> > should be the same:  get a standard Keystone token and hand
it to Horizon.<br>
> > <br>
> > This would mean that Horizon would have to validate tokens the
same way<br>
> > as any other endpoint.  That should not be too hard, but
there is a<br>
> > little bit of "create a user, get a token, make a call"
logic that<br>
> > currently lives only in keystonemiddleware/auth_token;  Its
a solvable<br>
> > problem.<br>
> > <br>
> > This approach will support the straight Javascript approach that
Richard<br>
> > Jones discussed;  Keystone behind a proxy will work this
way without<br>
> > CORS support.  If CORS  can be sorted out for the other
services, we can<br>
> > do straight Javascript without the Proxy.  I see it as phased
approach<br>
> > with this being the first phase.<br>
> > <br>
> > <br>
> > <br>
> > <br>
> > <br>
> > _______________________________________________<br>
> > OpenStack-dev mailing list<br>
> > OpenStack-dev@lists.openstack.org<br>
> > </font></tt><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"><tt><font size=2>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</font></tt></a><tt><font size=2><br>
> > <br>
> <br>
> _______________________________________________<br>
> OpenStack-dev mailing list<br>
> OpenStack-dev@lists.openstack.org<br>
> </font></tt><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"><tt><font size=2>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</font></tt></a><tt><font size=2><br>
> <br>
</font></tt>