I'm curious about the "external" attribute in that request body (JSON supports native booleans, btw, so it should preferrably read {"external": true})... regardless, how are you using that attribute in your implementation? What happens if it's some value other than "True"? I expected to see something in your ExternalAuthMiddleware about it, but it must be somewhere else -- link?<div>
<br></div><div>I'm particularly asking because if there's a use case here that can be generalized, I'd like to include it in <a href="https://github.com/openstack/identity-api/blob/master/openstack-identity-api/src/markdown/identity-api-v3.md">https://github.com/openstack/identity-api/blob/master/openstack-identity-api/src/markdown/identity-api-v3.md</a><br clear="all">
<div><br></div>-Dolph<br>
<br><br><div class="gmail_quote">On Tue, Oct 2, 2012 at 11:07 AM, Ralf Haferkamp <span dir="ltr"><<a href="mailto:rhafer@suse.de" target="_blank">rhafer@suse.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Thu, Sep 27, 2012 at 01:52:25PM -0400, Adam Young wrote:<br>
> On 09/27/2012 04:15 AM, Ralf Haferkamp wrote:<br>
</div>[..]<br>
<div class="im">> >>>BTW, has anybody else been working on this already? Does this even sound like a<br>
> >>>feature worth adding?<br>
><br>
><br>
> Yes, I have, but you are aehad of me.  Please post your patch.  It<br>
> is the right approach.<br>
<br>
</div>I have just pushed the code to the "external-branch" in my github clone at:<br>
<a href="https://github.com/rhafer/keystone/tree/external-auth" target="_blank">https://github.com/rhafer/keystone/tree/external-auth</a><br>
<br>
Feel free to review and comment. It still needs quite a bit of testing. But the<br>
basics seem to work for me. Currently, to use external authentication you need<br>
to POST something like this to the /tokens URL (as with username/password<br>
authentication the "tenantName" is optional):<br>
<br>
    {<br>
        "auth": {<br>
                "external": "True",<br>
                "tenantName": "test"<br>
        }<br>
    }<br>
<br>
Of course you need keystone be backed by apache and apache configured to do<br>
somekind of authentication (up to now I just tested with mod_auth_kerb).<br>
Additionally the ExternalAuthMiddleware needs to be added to keystone's service<br>
pipelines in keystone.conf<br>
<br>
I didn't have time yet to implement anything on the client side. Up to now I<br>
just used curl for testing. E.g. this works to request a scoped token using<br>
kerberos authentication:<br>
<br>
    curl -u : --negotiate http://<keystone-server>:5000/v2.0/tokens \<br>
        -d '{"auth": {"external": "True", "tenantName": "test"}}' \<br>
        -H "Content-type: application/json"<br>
<br>
Feedback is very welcome. Regards,<br>
    Ralf<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div>