【发布时间】:2017-07-27 17:40:40
【问题描述】:
我想知道是否可以在提琴手中为特定用户在提琴手中使用 grant_type=password 获取 azure 广告令牌。
我在 Github 上关注了THIS wiki,但我无法让它工作。
我收到此错误消息:
AADSTS50034:要登录此应用程序,必须将帐户添加到 f2f535e0-294f-4704-befc-8ce754f10bd7 目录。
我知道我已经添加了该帐户,因为这是 AD 所有者的全局管理员帐户。
关于我做错了什么的任何想法。
这就是我正在做的:
POST: https://login.microsoftonline.com/f2f535e0-294f-4704-befc-8ce754f10bd7/oauth2/token
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
grant_type=password&resource=<my application app id>&client_id=<my application client id>&username=<my account>&password=<mypassword>
【问题讨论】:
-
f2f535e0-294f-4704-befc-8ce754f10bd7 你确定这是正确的objectId吗?
-
是的,我坚信如此,因为我尝试使用 grant_type=client_credentials 针对 URL 中的相同对象 ID,我得到了状态代码 200 ok 和一个令牌。我要做的是通过用户名和密码获取令牌。
-
错误消息暗示用户帐户不在您尝试登录的租户中。我会做一些健全性检查,因为您尝试做的事情通常应该有效。
-
可能是您的租户 id 不正确或该应用在其他租户中注册。您可以尝试只使用 login.mso/common 来绕过对租户 ID 的需求。
-
好的,我找到了解决方案。我必须将 client_secret 参数包含到 grant_type 中。它没有在指南中指定它,所以我出于某种原因认为我没有必要。但是在我这样做之后……很高兴知道。无论如何,谢谢大家的回答。
标签: oauth-2.0 fiddler azure-active-directory access-token