访问被 Azure AD B2C 锁定的 Azure 函数应用时收到 403 错误

Posted

技术标签:

【中文标题】访问被 Azure AD B2C 锁定的 Azure 函数应用时收到 403 错误【英文标题】:Receiving 403 error when accessing Azure function app locked down by Azure AD B2C 【发布时间】:2019-11-06 16:03:57 【问题描述】:

我们正在使用 AD B2C 对我们的网络应用进行身份验证。上周,当我们使用我们的 AD B2C 租户调用托管在 Azure 中并被 Active Directory 锁定的 API 时,我们开始收到 403.76。

发生更改时,我们没有更改 AD 中的任何配置设置。我们回滚了所有没有帮助的代码。我们验证了我们的令牌在 jwt.io 中是有效的。我们确认我们的受众是正确的,并且在应用注册中正确设置了权限。当进入功能应用程序的“诊断和解决问题”部分并深入研究 4xx 错误时,我们可以看到简单的身份验证错误 403.76。

函数应用仅针对 Cosmos 执行 GetAsync 以在登录时获取您的用户配置文件。但是我们并没有走得那么远,因为我们在使用 AD 验证我们的令牌时收到了 403.76。

我们应该能够对我们的 API 执行 GET 并像以前一样接收数据。相反,我们得到 HTTP 状态 403,子状态为 76。

“诊断和解决问题”部分的错误:

EasyAuth:AuthorizationCheckFailed。更多详情请参考 EasyAuth 模块的 HTTP 状态码

【问题讨论】:

【参考方案1】:

我们用头撞墙了五天,所以我想确保将其发布在堆栈溢出上,以供其他面临此问题的人使用。特别是因为它影响了客户。

在过去三天与 Microsoft 24/7 合作后,我们终于收到消息,这是由于他们使用 EasyAuth 的问题。解决方法是将其添加到我们的函数应用配置中:

WEBSITE_AUTH_AAD_BYPASS_SINGLE_TENANCY_CHECK = true

【讨论】:

非常感谢您发布此信息。我们昨天开始遇到这个确切的问题,并与 MS 一起获得了支持票。我会在这篇文章中指出他们。 为我工作!微软什么鬼。对于所有应用服务人员,我在应用服务 -> 配置 -> 应用程序设置中添加了它,然后单击“新应用程序设置”。立即修复了问题。这是我的帖子:***.com/questions/56743436/…

以上是关于访问被 Azure AD B2C 锁定的 Azure 函数应用时收到 403 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Azure AD B2C 保护 Blazor Wasm 应用访问的 Azure 函数?

是否可以强制禁用 Azure AD B2c 中的访问令牌?

在 Postman 中为 Azure AD B2C 请求访问令牌

Azure AD B2C初识

在 Postman 中为受 Azure AD B2C 保护的 Azure Function App 请求访问令牌

Azure AD B2C:注销社交帐户(使用 OIDC 的 Azure AD)