c# - 访问由 Azure AD B2C 锁定的 Azure 函数应用程序时收到 403 错误

标签 c# azure azure-active-directory azure-functions azure-ad-b2c

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

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

函数应用程序只是针对 Cosmos 执行 GetAsync 来获取登录时的用户配置文件。但是我们还没有走到这一步,因为在使用 AD 验证 token 时我们收到了 403.76。

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

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

EasyAuth:授权检查失败。有关更多详细信息,请参阅 EasyAuth 模块的 HTTP 状态代码

最佳答案

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

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

WEBSITE_AUTH_AAD_BYPASS_SINGLE_TENANCY_CHECK = true

关于c# - 访问由 Azure AD B2C 锁定的 Azure 函数应用程序时收到 403 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56743496/

相关文章:

c# - FileHelpers:搜索结果

C# 从 List<string[]> 中删除重复项

rest - 无法为 Azure 文件创建有效的共享访问签名

azure - 通过 Microsoft 登录个人和任何 Azure AD

azure-active-directory - azure Azure Active Directory 应用程序中的 "grant admin consent"按钮有什么作用?

c# - 如何在 ExtJS 中创建动态数组变量名

c# - 在不应该为 DataTable 抛出 RowNotInTableException 时?

azure - 我可以在一个 Azure 事件中心命名空间中创建数千个事件中心吗

azure - MS Graph 用户 ID 和 Azure AD 对象标识符声明是否等效?

azure - 使用图形 API 创建 Azure AD B2C 社交帐户