移动设备上的 Azure 应用服务身份验证问题

问题描述 投票:0回答:1

我创建了一个 .NET Core 2.1 WebAPI 并将其发布到 Azure 应用服务。从 iOS 设备执行 API 调用时一切正常,但如果我使用 Azure AD 身份验证提供程序启用身份验证(在应用服务级别),我将收到 HTTP 401:

“您没有权限查看此目录。

在我的 iOS 代码中,我实现了 ADAL 库,并在 Azure 中注册了一个本机应用程序来获取 WebAPI 的令牌(本机应用程序上的 API 权限已设置为用于 Web API 注册的 user_imporsonation)。我确实从 ADAL 库获取了一个 accesstoken,并将其包含在每个请求的授权标头 (Bearer) 中。我可以在使用 Postman 时重现此问题,并执行所有步骤以首先使用授权代码授予类型获取令牌。 但是,如果我在浏览器中执行 WebAPI 请求,我首先会被迫进行身份验证(重定向到 login.microsoftonline.com),然后我会看到 Web API 调用的预期 JSON 结果。

有人知道我在这里缺少什么吗?非常感谢任何帮助。

遵循此处描述的所有步骤: https://learn.microsoft.com/nl-nl/azure/app-service/configure-authentication-provider-aad

ios azure azure-web-app-service asp.net-core-webapi asp.net-core-2.1
1个回答
0
投票

修复了这个问题。必须将允许的令牌受众更改为应用程序 ID URI。它被自动设置为 WebApp 重定向 URI,该 URI 将“/.auth/login/aad/callback”添加到应用程序 ID URI。

© www.soinside.com 2019 - 2024. All rights reserved.