Asp.net core 在用户登录后,如何在Blazor服务器端应用程序中获取广告B2C用户组?

Asp.net core 在用户登录后,如何在Blazor服务器端应用程序中获取广告B2C用户组?,asp.net-core,azure-ad-b2c,microsoft-identity-platform,Asp.net Core,Azure Ad B2c,Microsoft Identity Platform,我有一个Blazor服务器端应用程序,带有广告B2C登录。我可以使用以下代码登录并获取索赔 public class Temp { private readonly AuthenticationStateProvider _auth; public Temp(AuthenticationStateProvider auth) { _auth = auth; } public async Task GetClaims() {

我有一个Blazor服务器端应用程序,带有广告B2C登录。我可以使用以下代码登录并获取索赔

public class Temp
{
    private readonly AuthenticationStateProvider _auth;

    public Temp(AuthenticationStateProvider auth)
    {
        _auth = auth;
    }

    public async Task GetClaims()
    {
        var authState = await _auth.GetAuthenticationStateAsync();
        var userClaims = authState.User.Claims;
    }
}
我创建了一个名为
Admin
,并将用户关联到该。如何使用Microsoft Identity获取组名
Admin

使用Microsoft Graph是最快的方法

请注意,您需要使用Microsoft Graph的B2C访问令牌,而不是B2C访问令牌。虽然提到我们可以使用
filter
查询
displayName
属性,但根据我的实际测试,它不起作用。因此,我们应该首先查询所有用户的组:

GET https://graph.microsoft.com/v1.0/users/{user_id}/memberOf?$select=displayName
这将列出用户所属的所有组名


管理员
应该包括在列表中。

嗨,你检查我的答案了吗?这有帮助吗?我没有,但过几天我会的