繁体   English   中英

C# .Net Core Web Api Azure Active Directory 和声明

[英]C# .Net Core Web Api Azure Active Directory & Claims

我们有一个带有 .net 核心 web api 后端的 SPA(单页应用程序)。

我们希望使用 Azure AD 进行身份验证和授权,因为我们将至少有 3 个单独的客户端使用 AD,但在网上查看没有确定的方法,就像拼凑 50,000 块拼图一样!

我已经设置了带有身份验证和授权的 azure api,如下图所示,但这是正确的地方吗? 因为我相信我希望在 Web API 代码中使用它,所以我可以获得特定于应用程序的声明(权限/角色)。

在此处输入图片说明

提到了身份,但我想使用身份吗? 因为这听起来像是您自己的数据库而不是 AD。

我们应该使用 B2C 还是 B2B 身份验证? 并且这是否支持授权,因为最终目标是定义特定于应用程序的自定义声明,因此我们可以授予和拒绝特定操作。

你现在使用的是 Azure 应用服务的内置身份验证 您可以通过在 Web api 中编写最少代码或不编写代码来登录用户并访问数据。 但不适用于复杂的场景。

由于您希望为特定用户自定义应用程序权限/角色,建议您自己使用 Azure AD 保护您的 webapi。 自定义身份验证更灵活。 你可以参考这个示例,TodoListService 部分。

我们应该使用 B2C 还是 B2B 身份验证?

Azure AD B2B不是一项单独的服务,而是 Azure AD 中的一项功能。

Azure AD B2C是用于构建消费者应用程序标识存储库的独立服务。 如果您需要处理电子邮件或 Facebook 登录的服务,它就在您身边。

根据您的描述,我猜 Azure AD 是您的选择。

参考:

使用应用角色和角色声明向使用 Microsoft 标识平台登录用户的 ASP.NET Core Web 应用添加授权

比较 Azure Active Directory 中的 B2B 协作和 B2C

我在复数上观看了这个视频

https://app.pluralsight.com/library/courses/authentication-authorization-aspnet-core/table-of-contents

这有助于使其更有意义,实际上在接近尾声时,他表明您只需创建一个 .net 核心 Web 应用程序,然后更改身份验证并选择多 Azure AD 选项,如下面的示例所示。 这样就可以解决问题了! 不完全适用于 Vue 单页应用程序,但这仍然是一个问题。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM