Tha*_*ole 5 authentication azure azure-active-directory azure-functions
背景:我部署了一个 Azure Function App,并使用 AAD 启用了应用服务身份验证 (easyauth),并连接到 Azure AD B2C 租户。一切都很顺利并且符合预期。也就是说,我遇到了一个新场景,我想使用相同的功能应用程序来支持该场景,但无需打开身份验证。具体来说,我希望匿名调用一个特定函数(甚至可能在函数代理后面)。
问题:是否可以在同一功能应用程序中禁用特定功能的身份验证,而其他所有功能都已强制执行身份验证?
我尝试过将“请求未经身份验证时采取的操作”更改为“允许匿名请求(无操作) ”的想法,但这让我在需要身份验证的每个其他功能中以某种方式完成任务,确保请求实际上经过身份验证的东西。请注意,我不知道在这种情况下我必须做什么。
最糟糕的情况是,我将设置一个完全独立的函数应用程序,它只公开我需要匿名调用的单个函数……但是,感觉应该有一个更好的解决方案,不需要我在两个项目之间共享源代码。
更新:删除了对 URL 授权规则预览功能的引用,该功能已停止使用。下面提供了新信息。
您可以使用 Easy Auth 的 ARM 设置启用对各个 URL 的匿名访问globalValidation.excludedPaths
。该数组中的任何路径都不会检查全局授权规则,因此请谨慎使用。
例子:
{
"globalValidation": {
"unauthenticatedClientAction": "RejectWith401",
"redirectToProvider": "aad",
"excludedPaths": [
"/api/MyAnonymousHttpTriggerFunction"
]
},
}
Run Code Online (Sandbox Code Playgroud)
我不认为门户或 CLI 支持已经为此启用,但您应该能够直接在 ARM 下进行设置Microsoft.Web/sites/<siteName>/config/authsettingsV2
。如果你想手动测试它,我建议设置一个应用程序并使用Azure 资源管理器更新这些设置。
如果您使用基于文件的配置(高级),则适用相同的 JSON 设置,并且您可以在此处找到文档。
归档时间: |
|
查看次数: |
3683 次 |
最近记录: |