新功能项目授权

Posted

技术标签:

【中文标题】新功能项目授权【英文标题】:Authorisation for new Fuctions project 【发布时间】:2020-01-05 08:09:31 【问题描述】:

我一直在 Asp.Net Core 中构建应用程序,现在正在将 API 层迁移到 Azure Functions。目前使用Microsoft.AspNetCore.AuthorizationMicrosoft.AspNetCore.Identity(即SignInManager、UserManager、Roles + Claims)设置授权。我正在寻找一个起点来了解如何将授权组件移动到 Azure Functions 中的等效组件。

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

是否需要设置 Azure Active Directory 进行身份验证?或者它是基于我当前用户数据的自定义实现?有没有可能?

【问题讨论】:

【参考方案1】:

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

没有必要。如果您想切换到简易身份验证并将用户存储在 AAD 中,那么可以。 (可以使用 Facebook、Google 或 custom 等其他提供商轻松配置身份验证。)在这种情况下,用户将通过 AAD 进行身份验证,并且 AAD 将为客户端应用程序提供一个身份验证 cookie(可以交换为 JWT)。您可以在函数中验证 JWT。 Here is a similar question on SO, with answer.

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

我建议在 API 端点之前放置一个 API 网关。这为您提供了额外的安全性,例如调用速率规则(保护您免受 DDOS 攻击)、额外的令牌检查和路由映射。

【讨论】:

以上是关于新功能项目授权的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core分布式项目实战整理IdentityServer4 MVC授权Consent功能实现

前端Vue项目调用页面web3.js:连接metaMask钱包,(查询钱包ETH余额,查询代币余额,ETH转账,代币转账,代币授权,查询授权数量,计算价格)等功能

BOS项目 第7天(shiro权限框架进行认证和授权)

vue项目中的支付功能实现

vue项目中的支付功能实现

Android实现百度网盘一些功能