我想問你澄清當IdentityServer 4與ASP.NET身份集成。ASP.NET核心標識和身份服務器4 - [角色,聲明和身份資源]
我正在處理兩個數據庫上下文。 Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext<IdentityUser>
和IdentityServer4.EntityFramework.DbContexts.ConfigurationDbContext
。
Identity Server 4正在使用AspNetIdentity .AddAspNetIdentity<IdentityUser>()
。
所以IdentityUser
已經分配了IdentityUserClaims
,並且在成功驗證之後它在JWT令牌中得到了正確的反映。
現在的問題是,來自IdentityServer4的IdentityResource
和IdentityClaim:UserClaim
是什麼ConfigurationDbContext
?由於現在從aspnet身份使用聲明,因此完全不使用此實體。我對嗎?
另一個問題是ApiScopeClaims
如何在遊戲中?它們仍然由Identity Server使用,因爲ApiScope
爲其頒發了令牌。對?但現在我要保持同步ApiScopeClaim
和IdentityUserClaim
這是來自不同的數據庫上下文。
最後一個問題是關於IdentityRoles
和IdentityRoleClaims
,它們與IdentityUserClaims
不一樣。背後有什麼想法?在我的想法中,角色是針對特定業務角色的索賠分組,以便於管理,因此角色不應定義新索賠,但應參考IdentityUserClaims
。另外,我創建了分配給用戶的角色,分配給範圍的相應索賠類型,結果是 - 分配給角色和用戶的索賠具有此角色,但未包含在JWT中。爲什麼?
謝謝你的回答。
它是如何與'IdentityRoleClaims'?它們是'AspNetIdentity'的一部分,但它們是否包含在由IdentityServer4發佈的JWT令牌中?我嘗試過,但他們不包括在內,也沒有角色要求。 –
當API資源需要聲明「角色」時,角色包含在適當的值中。但如何包括角色聲明? –
將「角色」聲明類型添加到「openid」身份資源 –