1

所以我以前使用 B2C 进行身份验证。我已经配置了我的功能,因此它们需要通过 B2C 进行身份验证,并且一切正常。如果您尝试在未经过身份验证的情况下调用它们,则什么也没有发生(或者更确切地说,您遇到了错误)。

我想使用第 3 方提供商,例如 Auth0,因为目前 B2C 存在一些限制和问题,这些限制和问题似乎只能非常缓慢地得到解决。无论如何,我不确定我应该如何为此配置我的功能。我去了身份验证/授权设置刀片,我已将“应用服务身份验证”设置为“开启”,“令牌存储”设置为“开启”,并且“请求未通过身份验证时采取的操作”设置为“允许匿名”请求(无操作)”。在“身份验证提供程序”下,所有这些都设置为“未配置”。我的第一个问题是,在这个阶段,如果我使用说 Postman 调用我的任何函数,我可以在没有任何身份验证信息的情况下调用它们。就像如果他们完全没有保护。

我不确定我应该设置什么,以便我的功能需要通过第 3 方进行身份验证,而不是使用 5 个默认列出的提供程序。

还是我想错了?解决方案是否允许未经身份验证访问我的函数,但在函数本身中执行我的令牌验证/等,而不是依赖微软在幕后所做的任何事情来验证请求(例如当您使用 B2C 时)?

4

1 回答 1

2

您的最终想法是正确的,如果您要引入应用服务身份验证不支持的第 3 方身份验证提供程序,那么最好的选择是允许未经身份验证的访问并自己验证请求。

但是,请记住,任何输入绑定都将在您的函数代码执行之前运行(并且进行身份验证验证),因此您需要小心使用输入绑定和自定义身份验证。


更新:应用服务身份验证确实有“自带身份验证提供者”的待办事项,因此希望这种情况很快会得到更好的支持。

于 2017-02-16T18:36:11.697 回答