移动设备上的 Azure App Service 身份验证问题

Posted

技术标签:

【中文标题】移动设备上的 Azure App Service 身份验证问题【英文标题】:Azure App Service authentication issue on mobile device 【发布时间】:2019-11-18 23:51:37 【问题描述】:

我创建了一个 .NET Core 2.1 WebAPI 并将其发布到 Azure 应用服务。从 ios 设备执行 API 调用时一切正常,但如果我使用 Azure AD 身份验证提供程序启用身份验证(在应用服务级别),我将收到 HTTP 401(“您无权查看此目录) . 在我的 iOS 代码中,我实现了 ADAL 库,在 Azure 中,我注册了一个本机应用程序以获得 WebAPI 的令牌(本机应用程序的 API 权限已设置为 user_imporsonation 以进行 Web API 注册)。我确实获得了一个访问令牌来自ADAL库并包含在每个请求的授权标头(Bearer)中。我可以在使用Postman时重现此问题并执行所有步骤以首先使用授权代码授权类型获取令牌。 但是,如果我在浏览器中执行 WebAPI 请求,我首先必须进行身份验证(重定向到 login.microsoftonline.com),然后才能看到来自 Web API 调用的预期 JSON 结果。

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

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

【问题讨论】:

【参考方案1】:

修复了这个问题。必须将 Allowed Token Audience 更改为 Application ID URI。它被自动设置为将“/.auth/login/aad/callback”添加到应用程序 ID URI 的 WebApp 重定向 URI。

【讨论】:

以上是关于移动设备上的 Azure App Service 身份验证问题的主要内容,如果未能解决你的问题,请参考以下文章

为在 Azure App Service Linux 上运行的容器创建卷

Azure App Service-多语言/高可用/自动缩放的Web托管服务

Azure App Service for Linux是否支持http2?

迁移到 Azure App Service 和 Azure Database for MySQL 灵活服务器后,Wordpress 网站速度极慢

如何拒绝文件夹和文件类型访问 - NGINX PHP 8 Azure Web App Service

Azure App Service 与 Azure Service Fabric [关闭]