<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p><br /></p>
<p>Thanks Artem, just wondering how about if I use my own identity to get connected, and try to find the user id of myself? Like:</p>
<p>auth = v3.ApplicationCredential(<br /> auth_url="my_auth_url",<br /> application_credential_secret="my_cred_secret",<br /> application_credential_id="my_cred_id",<br /> username='catherine',<br /> )</p>
<p>sess = session.Session(auth=auth)</p>
<p>conn = connection.Connection(<br /> session=sess,<br /> region_name='Victoria',<br /> identity_api_version='3',<br />)</p>
<p># tested the above connection works well</p>
<p>find_user = conn.identity.find_user(name_or_id='catherine')</p>
<p>This returns me that <span>"You are not authorized to perform the requested action: identity:get_user"; but conn.identity.find_user(name_or_id='my_user_Id') works fine.</span></p>
<p>Think in the openstack cli tools, I couldn't show other users,  but I could use my own username to list the info of myself, "/usr/local/bin/openstack user show catherine", this works.</p>
<p><br /></p>
<p>Thanks for your help,</p>
<p>Catherine</p>
<p><br /></p>
<p>On 2021-05-10 10:08, Artem Goncharov wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored --><br />
<div><br />
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">
<div>On 10. May 2021, at 18:47, dmeng <<a href="mailto:dmeng@uvic.ca">dmeng@uvic.ca</a>> wrote:</div>
<div>
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<p>Good morning,</p>
<p>Thanks for replying back to me. I tried to use the fine_user to get the user id by username, but it seems like not all the user can use the find_user method.</p>
<p>If I do: find_user = conn.identity.find_user(name_or_id='catherine'), it will show me that "You are not authorized to perform the requested action: identity:get_user".</p>
<p>If I do: <span>find_user = </span><span>conn.identity</span><span>.find_user(name_or_id='</span><span>my_user_Id</span><span>'), then it works fine.</span></p>
<p><span>But I would like to use the username to find the user and get the id, so I'm not sure why in this case find_user only work with id not name.</span></p>
<p><br /></p>
</div>
</div>
</blockquote>
<div> </div>
<div>Depending on the configuration of your Keystone (what is already a default) and the account privileges you use (admin, domain_admin, token scope) you may be allowed or not allowed to search/list another users. Normally this is only possible in the domain scope, so maybe you would need to use account with more powers.</div>
<br />
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">
<div>
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<p><span>Thanks and have a great day!</span></p>
<p><span>Catherine</span></p>
<div><span> </span></div>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p>On 2021-05-08 03:01, Artem Goncharov wrote:</p>
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;">Hi<br />
<div> </div>
<div><br />
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;">
<div>
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<div>
<div><span>We are wondering if we could use the user name to get it instead of the user id? If I do get_application_credential(user='catherine', application_credential = 'app_cred_id'), then it will show me an error that "You are not authorized to perform the requested action: identity:get_application_credential". Is there any method that no need user info, can just use the application credential id to get the expiration date? We also didn't find any documentation about the application credential in openstacksdk identity service docs.</span></div>
</div>
</div>
</div>
</blockquote>
<div> </div>
<div>You can use:</div>
<div> </div>
<div>user = conn.identity.find_user(name_or_id = 'my_user')</div>
<div>ac = conn.identity.find_application_credential(user=user, name_or_id='app_cred') </div>
</div>
<div> </div>
<div>Regards,</div>
<div>Artem</div>
</blockquote>
<p><br /></p>
</div>
</div>
</blockquote>
</div>
</blockquote>
<p><br /></p>

</body></html>