【问题标题】:AADSTS65001: The user or administrator has not consented to use the application with IDAADSTS65001:用户或管理员未同意使用带有 ID 的应用程序
【发布时间】:2020-06-22 18:20:15
【问题描述】:

我正在关注this document 并看到以下问题。

ERROR com.microsoft.aad.msal4j.PublicClientApplication - [Correlation ID: 6ed3f887-f7a7-4201-ba9c-6587d8510ef8] Execution of class com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier failed.
com.microsoft.aad.msal4j.MsalInteractionRequiredException: AADSTS65001: The user or administrator has not consented to use the application with ID 'ab8dd9d6-d79b-454d-9c40-236a74cfe698' named 'AzureTestApp01'. Send an interactive authorization request for this user and resource.
Trace ID: 0eb3ee9e-b1c1-43e8-90b3-2a1a70b71100
Correlation ID: 6ed3f887-f7a7-4201-ba9c-6587d8510ef8
Timestamp: 2020-06-19 22:32:40Z

我已按照以下步骤操作:

  1. 将应用注册为公共客户端
  2. 更新了 Manifest 以将 allowPublicClient 属性设置为 true
  3. 设置 User.Read 权限
  4. 还授予/撤销管理员同意

我已经参考了多篇文章来解决这个问题;但没有一个工作。任何指针都会有所帮助。这是我正在使用的代码:

PublicClientApplication pca = PublicClientApplication.builder(APP_ID).authority(AUTHORITY).build();
String scopes = "User.Read";
UserNamePasswordParameters parameters = UserNamePasswordParameters.builder(Collections.singleton(scopes),userName,password.toCharArray()).build();
IAuthenticationResult result = pca.acquireToken(parameters).get();

【问题讨论】:

  • 我需要你提供两张截图。 1.(应用程序注册->您的应用程序-> API权限)2.使用jwt.ms解析您的访问令牌并提供屏幕截图。
  • 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。请参阅meta.stackexchange.com/questions/5234/… 可能对其他社区成员有益。谢谢。

标签: java azure api


【解决方案1】:

首先,您需要是租户的管理员(如果您不是租户管理员,则不能授予管理员权限),您可以按照here流程设置用户角色。

然后按照此流程授予管理员对应用的同意:

  1. 以租户管理员身份登录https://portal.azure.com
  2. 在以下位置打开您的应用程序注册。
  3. 转到设置,然后转到所需的权限。
  4. 按授予权限按钮。

根据您的问题,我使用ROPC flow 测试来获取访问令牌。

解析令牌以查看user.read 的范围。

最后,获取用户信息,访问https://graph.microsoft.com/v1.0/meApi。

【讨论】:

  • 感谢@Carl Zhao 的意见;不知何故,我在访问 /oauth2/v2.0/token 时得到了 400。我使用 Postman 对其进行了测试,我得到了 AADSTS50126: Invalid username or password 尽管我的用户名和密码是正确的。我在研究时遇到了这个问题:github.com/MicrosoftDocs/azure-docs/issues/30802。你遇到过这个吗?我认为您的建议应该可以解决我的问题;只有当我能克服我目前收到的这个 AADSTS50126 错误时。
  • @jaykay007j 你好,我没有遇到这个问题。你使用的用户是租户的管理员吗?如果您确定您的用户名或密码正确,则尝试创建一个新的 AzureAD 服务帐户并为其提供与原始服务帐户类似的访问权限。测试看看如何。
  • 用户是管理员。我正在使用企业 Azure AD 帐户进行测试。它启用了多因素身份验证。我不确定这是否是它不起作用的原因。我仍在研究那部分。
猜你喜欢
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 2020-01-06
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多