<div dir="ltr">Jamie Lennox from Redhat answered my post off-list, so I'm forwarding it to the list for everyone.<br><div class="gmail_quote"><div class="HOEnZb"><div class="h5"><br>
----- Original Message -----<br><br>Summer and Matt,<br><br>So i understand there is an attempt to get these documented correctly by each<br>of the services, but i'm not sure what the status of getting it automated<br>
is. There is a review here: <a href="https://review.openstack.org/#/c/73875/" target="_blank">https://review.openstack.org/#/c/73875/</a> to at least document them from the keystoneclient service.</div><div class="h5"><br>
The full list is quite easy to see from the code:<br><a href="https://github.com/jamielennox/python-keystoneclient/blob/master/keystoneclient/middleware/auth_token.py#L199" target="_blank">https://github.com/jamielennox/python-keystoneclient/blob/master/keystoneclient/middleware/auth_token.py#L199</a><br>
and there is some documentation there for each.<br><br>The problem of auth_uri is one I have hit myself and i would like to rename<br>but you can't just change these for people that use it already.<br><br>The correct way to point people to the keystone server is a combination of<br>
auth_protocol auth_host, auth_port and auth_prefix (note that auth_prefix is<br>not '/v2.0' - that will get added later, auth_prefix is generally empty).<br>These are combined as:<br><br>(auth_protocol)://(auth_host):(auth_port)/(auth_prefix)<br>
<br>There is a historical technical reason for this why these are split which is<br>no longer relevant - and IMO should never have been exposed to people<br>configuring the middleware anyway.<br><br>auth_uri is _only_ used in the middleware when returning a 401 Unauthorized<br>
message. It will contain the header: "WWW-Authenticate: Keystone<br>uri=(auth_uri)". If it is not set by the configuration it will default to:<br>(auth_protocol)://(auth_host):(auth_port) - so all but the (auth_prefix).<br>
The point here is to indicate where you should get your token from and why<br>the error message is shown if something is not set. Why it doesn't have the<br>prefix has always bugged me and i think i'll bring that question up again.<br>
<br></div></div>Just to clarify: The reason you might want that is because traditionally you would have set auth_token to use the 35357 port service for token validation, auth_port=35357, however users of the service typically can't talk to the admin port and when you want to get a token you typically want to use the public port, 5000, so you would want to set auth_uri to <a href="http://hostname:5000/" target="_blank">http://hostname:5000/</a> to tell people where they could fetch a token from.<br>
<br>
Hopefully this will become less relevant as time goes on as the v3 api is the same on both ports.<br>
<div class="HOEnZb"><div class="h5"><br>I don't think there ever was an auth_url, you should avoid that.<br><br>In general i would like to scrap the auth_protocol, host, port, prefix<br>combination for just a url. If you have any idea of what that should be<br>
called that somehow distinguishes itself from auth_uri and all the other<br>very similar sounding variables there i'd love to know.<br><br>Jamie</div></div></div></div>