簡體   English   中英

Azure B2C和.Net Core 2.0中基於聲明的授權令牌

[英]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-角色管理

您可以通過在Azure AD B2C反饋論壇中對其投票來支持將團體聲明添加到b2c發行的令牌中: 使用Azure AD B2C在聲明中獲取用戶成員資格組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM