首页 > 解决方案 > 使用 Azure AD B2C 时如何控制/设置单个用户的权限

问题描述

我有 1 个使用另一个 WebApi 的 SPA 应用程序。(ASP.NET Core) 两者都在 Azure 中运行,我能够使用 OAuth 2.0 隐式流针对 Azure AD B2C 对用户进行身份验证

现在我问自己如何控制单个用户的权限。(删除、阅读等)我必须处理索赔吗?我是否必须利用服务器端的图形 API 来检查用户是否具有特定权限?我可以使用范围吗?我在哪里可以设置用户 <--> 范围关系?

我发现了几个关于 SO 的问题,但我不知道应该如何以正确的方式完成它?我目前的理解是,我向身份验证提供者询问某些范围,我将获得一个具有此范围的令牌,然后可以通过 API 进行检查。但是我如何管理哪些用户可以询问哪些范围?

我真的很难理解 OAuth2 和权限。希望有人可以在这里帮助我。

标签: azureoauth-2.0azure-active-directoryazure-ad-b2c

解决方案


不幸的是,对于某个特定用户,您无法为该用户分配权限/范围。

因为 Azure AD B2C 不支持应用程序角色。通常,Azure AD B2C 是供所有用户使用他们的帐户访问您的应用程序的。甚至 Azure AD B2C 也可以让你存储和管理用户,但它不能将不同的范围/权限分配给不同的用户。多个范围是授予资源的权限。多个授予的权限将用空格分隔。它不是用于用户访问分配。

如果这对您很重要,您可以在此 Uservoice Page中为这个想法投票。Azure 团队将对其进行审核。

希望这可以帮助!


推荐阅读