ASP.NET核心身份和身份服务器4-[角色、要求和身份资源] 。

 2023-02-15    265  

问题描述

我想在将身份服务器4与ASP.NET身份集成时要求您澄清.

我正在使用两个数据库上下文.
Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext<IdentityUser>和IdentityServer4.EntityFramework.DbContexts.ConfigurationDbContext.

ASP.NET核心身份和身份服务器4-[角色、要求和身份资源] 。

身份服务器4正在使用AspnetIdentity .AddAspNetIdentity<IdentityUser>().

so IdentityUser已分配IdentityUserClaims,在成功验证后,它在JWT令牌中得到了适当的反射.

现在的问题是,IdentityServer4 ConfigurationDbContext的IdentityResource和IdentityClaim:UserClaim是什么?由于现在从ASPNET身份使用索赔,因此根本不使用该实体.我是对的吗?

另一个问题是ApiScopeClaims现在如何在游戏中?由于ApiScope为代币发行了身份服务器.正确的?但是现在由我保留来自不同db上下文的同步IdentityUserClaim和IdentityUserClaim.

最后一个问题是关于IdentityRoles和IdentityRoleClaims与IdentityUserClaims不同的.背后是什么想法?在我的想法中,角色是为更轻松管理的特定业务角色主张分组,因此角色不应定义新的主张,而应定义IdentityUserClaims的参考集.另外,我创建的角色,分配给用户,分配给范围的相应索赔类型,结果是 – 分配给角色和用户具有此角色的索赔不包括在JWT中.为什么?

谢谢您的回答.

推荐答案

IdentityResource是索赔的类别或分组.每个IdentityResource可以具有许多IdentityClaims,这是对AspNetUserClaims中持有的索赔的引用.内置的IdentityResources是开放式和配置文件.

apiscopoplaims是API资源层次结构的一部分(与上述身份资源相反.)

ApiResource --has many--> ApiScopes --has many--> ApiScopeClaims.

将索赔类型添加到ApiScopeClaim将AspNetUserClaim(如果存在)将用户提出ApiScope ApiScope.

IdentityRoleClaim(即AspNetRoleClaim)只是您可以介绍的有关特定角色的信息;它与用户无关,而仅与角色本身有关.

听起来好像要为您的索赔逻辑分组创建IdentityResource,然后在IdentityClaims中定义这些索赔类型.但是,您将需要一种方法才能首先找出用户的角色,以便在scope参数中请求适当的IdentityResource.或实现IProfileService之类的IdentityServer接口之一,以在IdentityServer实例上进行此类工作.

以上所述是小编给大家介绍的ASP.NET核心身份和身份服务器4-[角色、要求和身份资源] 。,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33740.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。