<p>Hi Pete,</p>
<p>2012/02/06 10:56 "Pete Zaitcev" <<a href="mailto:zaitcev@redhat.com">zaitcev@redhat.com</a>>:<br>
><br>
> On Thu, 2 Feb 2012 19:03:54 +0900<br>
> Akira Yoshiyama <<a href="mailto:akirayoshiyama@gmail.com">akirayoshiyama@gmail.com</a>> wrote:<br>
><br>
> > I modified the wiki:<br>
> > <a href="http://wiki.openstack.org/Keystone-BP-S3Token">http://wiki.openstack.org/Keystone-BP-S3Token</a><br>
> ><br>
> > I added authtoken in main pipeline just now.<br>
><br>
> I was unable to find the official configuration for "authtoken".<br>
> Since it's only a name of convention, I cannot even guess what<br>
> module is meant here.<br>
><br>
> Some people seem to use authtoken like this:<br>
><br>
> [filter:authtoken]<br>
> paste.filter_factory = keystone.middleware.auth_token:filter_factory<br>
> service_protocol = http<br>
> service_host = 127.0.0.1<br>
> service_port = 5000<br>
> auth_host = 127.0.0.1<br>
> auth_port = 35357<br>
> auth_protocol = http<br>
> auth_uri = <a href="http://127.0.0.1:5000/">http://127.0.0.1:5000/</a><br>
> admin_token = 999888777666<br>
> ;Uncomment next line and check ip:port to use memcached to cache token requests<br>
> ;memcache_hosts = <a href="http://127.0.0.1:11211">127.0.0.1:11211</a><br>
><br>
> Is it what you meant? If yes, what does it do in case of S3?</p>
<p>Yes.</p>
<p>Swift has one port with two different APIs: AWS S3 compaible one and OpenStack one.</p>
<p>So it needs two different authentication capabilities;<br>
authtoken is one middleware for OpenStack API and s3token is the other for S3 API.<br>
If there are multiple authentication middleware, the primary shouldn't reject requests without legal credentials because the second may accept them. So s3token (and ec2token) have to come before authtoken and to be used with authtoken because it doesn't reject non-S3 requests.</p>

<p>In other words, s3token is just a converter from S3 credentials to OpenStack tokens.</p>
<p>Regards,<br>
Akira Yoshiyama</p>