[英]Claims based authorization token in Azure B2C and .Net Core 2.0
我正在構建一個ASP .Net Core 2.0應用,並且想知道如何在我的后端將組聲明添加到我的Azure B2C訪問令牌。 我使用用戶的ID來查詢MS Graph,以使用ADAL獲取用戶的組聲明,並且每次用戶點擊控制器時都需要授權令牌上的組。 我寧願不要在每次命中控制器時查詢MS Graph。
在檢索到B2C令牌后,是否可以將組聲明添加到B2C令牌中?
如果沒有,是否應該將組存儲為會話變量?
如果不正確,是否應該在組中創建第二個授權令牌,然后在發送請求時在標頭中使用該令牌?
您可以在OpenID通知之一(即OnTokenValidated)中,並將用戶的組(或角色,但它們不同)添加到ClaimsPrincipal。 就像是 :
options.Events = new OpenIdConnectEvents
{
OnTokenValidated = ctx =>
{
//query the user's groups using api
// add claims
var claims = new List<Claim>
{
new Claim("groups", xxxx-xx-xx)
};
var appIdentity = new ClaimsIdentity(claims);
ctx.Principal.AddIdentity(appIdentity);
return Task.CompletedTask;
},
};
下面的鏈接是.net框架的代碼示例,您可以進行修改以適合.net核心版本:
在Azure Active Directory B2C中按組授權
您可以通過在Azure AD B2C反饋論壇中對其投票來支持將團體聲明添加到b2c發行的令牌中: 使用Azure AD B2C在聲明中獲取用戶成員資格組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.