授权新功能项目

时间:2019-09-02 09:19:38

标签: azure-functions

我已经在Asp.Net Core中构建了一个应用程序,现在我正在将API层迁移到Azure Functions。目前,使用Microsoft.AspNetCore.AuthorizationMicrosoft.AspNetCore.Identity(即SignInManager,UserManager,角色+声明)来设置授权。我正在寻找一个开始如何将授权组件移动到Azure Functions中等效组件的地方。

在我的应用程序中进行身份验证的理想方案是允许用户在网站上注册为公司(当前设置为“域”),并且该公司具有多个关联用户。 “域”还可以请求密钥来访问API层,以集成到自己的系统中。

我需要设置Azure Active Directory进行身份验证吗?还是基于我当前的用户数据的自定义实现?甚至有可能吗?

1 个答案:

答案 0 :(得分:0)

  

我需要设置Azure Active Directory进行身份验证吗?还是基于我当前的用户数据的自定义实现?甚至有可能吗?

不是必需的。如果要切换到轻松身份验证并将用户存储在AAD中,则可以。 (可以使用Facebook,Google或Custom等其他提供程序来简化身份验证。)在这种情况下,用户将通过AAD进行身份验证,并且AAD将向客户端应用提供身份验证cookie(可以将其交换为JWT)。您可以在函数中验证JWT。 Here is a similar question on SO, with answer.

您还可以实现自己的令牌创建端点并自行存储用户。

我建议将API网关放在API端点之前。这样可以为您提供额外的安全性,例如呼叫速率规则(保护您不受DDOS干扰),其他令牌检查和路由映射。