<div dir="ltr">Hi !<div><br></div><div>I investigated trust's use cases and encountered the problem: When I use auth_token obtained from keystoneclient using trust, I get <b>403</b> Forbidden error:  <b>You are not authorized to perform the requested action.</b></div><div><br></div><div>Steps to reproduce: </div><div><br></div><div>- Import v3 keystoneclient (used keystone and keystoneclient from master, tried also to use stable/icehouse)</div><div>- Import v3 novaclient<br>- initialize the keystoneclient:</div><div> <font face="monospace, monospace"> keystone = keystoneclient.Client(username=username, password=password, tenant_name=tenant_name, auth_url=auth_url)</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">- create a trust:</font></div><div><font face="monospace, monospace">  trust = keystone.trusts.create(</font><div style="font-family:monospace,monospace">    keystone.user_id,</div><div style="font-family:monospace,monospace">    keystone.user_id,</div><div style="font-family:monospace,monospace">    impersonation=True,</div><div style="font-family:monospace,monospace">    role_names=['admin'],</div><div style="font-family:monospace,monospace">    project=keystone.project_id</div><div style="font-family:monospace,monospace">  )</div><div style="font-family:monospace,monospace"><br></div><div><font face="arial, helvetica, sans-serif">- initialize new keystoneclient:</font></div><div style="font-family:monospace,monospace"><div>  client_from_trust = keystoneclient.Client(</div><div>    username=username, password=password,</div><div>    trust_id=<a href="http://trust.id">trust.id</a>, auth_url=auth_url,</div><div>  )</div></div><div style="font-family:monospace,monospace"><br></div><div><font face="arial, helvetica, sans-serif">- create nova client using new token from new client:</font></div><div style="font-family:monospace,monospace"><div>  nova = novaclient.Client(</div><div>    auth_token=client_from_trust.auth_token,</div><div>    auth_url=auth_url_v2,</div><div>    project_id=from_trust.project_id,</div><div>    service_type='compute',</div><div>    username=None,</div><div>    api_key=None</div><div>  )</div></div><div style="font-family:monospace,monospace"><br></div><div><font face="arial, helvetica, sans-serif">- do simple request to nova:</font></div><div>  <font face="monospace, monospace">nova.servers.list()</font><br></div><div><font face="monospace, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">- get the error described above.</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><br>Maybe I misunderstood something but what is wrong? I supposed I just can work with nova like it was initialized using direct token.</font></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><font>Best Regards,</font></div><div><font>Nikolay</font></div></div></div>
</div></div>