【发布时间】:2018-07-29 11:17:36
【问题描述】:
我在我的应用中使用 Azure Functions,大多数功能需要受我设置的身份验证方案的保护,但有些功能需要匿名访问。
我希望通过此设计完成的操作是让我的应用程序将 refresh_token 传递给包含客户端密钥的 azure 函数,以便为用户刷新令牌,而无需终端设备知道密钥.
我可以做的另一个选择是拥有一个单独的 azure 项目,其中包含一些可公开访问的功能。
【问题讨论】:
-
那么问题出在哪里?您为每个函数分别设置
authLevel。 -
也许我不知道 authLevel 是如何工作的,但是一旦我向 azure 函数添加了身份验证,所有函数都受到保护,需要传入访问令牌,并且所有函数也是匿名的......跨度>
-
老兄没有。 Easy Auth,门户功能与 authLevel 完全不同。只需阅读后者,这就是您所需要的,您不必引入 Oauth。
-
您似乎正在为您的功能应用程序使用基于用户的身份验证 (Authentication and authorization in Azure App Service)。正如 Mikhail 所说,您可以为每个功能设置授权级别,而您配置的 Easy Auth 是针对整个功能应用程序的。
-
AFAIK,Easy Auth 会在功能级别认证之前进行身份验证,如果您同时启用基于用户的功能应用身份验证和功能级别身份验证,那么它们都会进行身份验证。对于您的场景,您可以将请求未通过身份验证时采取的操作选项设置为允许匿名请求(无操作),然后您需要在每个函数中验证身份验证如果他们需要在访问之前进行身份验证。
标签: azure authentication azure-functions