【问题标题】:Azure AD Protected Web API calls failed with Consent errorAzure AD 受保护的 Web API 调用失败并出现同意错误
【发布时间】:2016-12-21 12:17:07
【问题描述】:

我有一个应用程序(WebApp)调用外部 API(WebApi1),而 WebApi1 调用另一个外部 Api WebApi2。

我已从 WebApp 向 WebApi1 授予应用程序权限 同样从 WebApi1 对 WebApi2 的应用程序权限

我获得了 WebApi1 的同意页面并接受了它,它适用于 WebApi1。但是当我尝试代表来自 WebApi1 的用户调用 WebApi2 时,它会引发同意页面错误。

AADSTS65001:用户或管理员未同意使用 带身份证的申请

【问题讨论】:

  • 确认一下,您是否将 AAD 集成到您自己的代码逻辑中的 Web api 应用程序中?还是在门户中配置?您是否尝试过在 AAD 应用程序的清单中配置 knownClientApplications,如 docs.microsoft.com/en-us/azure/active-directory/… 中所述
  • 我已尝试使用 KnownClientApplications,但代码博客仍然存在问题 - 感谢 Gary,我已尝试使用 manifest 中的 KnownClientApplications。当我尝试下面的代码博客时,它抛出了那个异常 - AuthenticationContext authContext = new AuthenticationContext(authority); var result = authContext.AcquireTokenAsync(webApi2ResourceId, clientCred, userAssertion).Result;
  • 所有 azure 应用程序都是单租户
  • 你解决了这个问题吗?
  • 未修复,相同的代码在一台机器上工作,但在我的机器和其他一些机器上工作。不确定,出了什么问题!

标签: azure-api-apps azure-active-directory


【解决方案1】:

如果您从Azure portal注册应用程序,则无需配置knownClientApplications,因为我们在注册应用程序时已经同意。

如果您从其他门户注册,则在配置KnownClientApplications 后,您需要再次授予权限才能使用参数prompt=consent。在这个时候,web 应用程序也会要求你同意 web api2。在您同意后,问题应该会得到解决。

【讨论】:

    猜你喜欢
    • 2020-02-19
    • 2017-11-02
    • 2019-12-03
    • 2018-06-25
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多