Asp.net core 在用户登录后,如何在Blazor服务器端应用程序中获取广告B2C用户组?
我有一个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() {
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
这将列出用户所属的所有组名
管理员
应该包括在列表中。嗨,你检查我的答案了吗?这有帮助吗?我没有,但过几天我会的