如何从 Azure AD B2C 获取用户组信息
How to get user group information from Azure AD B2C
我正在使用 Microsoft Graph 来获取用户信息,即 "List users" API。
获取用户信息的代码如下:
ClientCredential clientCred = new ClientCredential(clientId, clientSecret);
AuthenticationResult authenticationResult = await authenticationContext.AcquireTokenAsync(resourceId, clientCred);
string token = authenticationResult.AccessToken;
Debug.WriteLine("token=" + token);
var responseString = String.Empty;
string[] scopes = { "User.Read" };
using (var client = new HttpClient())
{
string requestUrl = "https://graph.microsoft.com/v1.0/users?$select=id,givenName,surname";
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUrl);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
Debug.WriteLine(request.ToString());
HttpResponseMessage response = client.SendAsync(request).Result;
responseString = response.Content.ReadAsStringAsync().Result;
Debug.WriteLine(responseString);
}
输出:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,givenName,surname)",
"value": [
{
"id": "000000000-0000-0000-000-000000000",
"givenName": "XXX",
"surname": "XXX"
}, {
"id": "000000000-0000-0000-000-000000000",
"givenName": "XXX",
"surname": "XXX"
}
]
}
如何获取用户组?
您可以为用户调用 user: getMemberGroups API 操作以获取他们的群组:
您需要像这样提出请求:
POST https://graph.microsoft.com/v1.0/users/user-id-here/getMemberGroups
Content-type: application/json
Content-length: 33
{
"securityEnabledOnly": true
}
securityEnabledOnly
参数定义它是否应该只 return 安全组。例如,将其设置为 false 也会 return 用户的 Office 365 组成员身份。
另一种方法是使用 memberOf
导航 属性:
GET https://graph.microsoft.com/v1.0/users/user-id-here/memberOf
此return用户是直接成员的组和目录角色。
我正在使用 Microsoft Graph 来获取用户信息,即 "List users" API。
获取用户信息的代码如下:
ClientCredential clientCred = new ClientCredential(clientId, clientSecret);
AuthenticationResult authenticationResult = await authenticationContext.AcquireTokenAsync(resourceId, clientCred);
string token = authenticationResult.AccessToken;
Debug.WriteLine("token=" + token);
var responseString = String.Empty;
string[] scopes = { "User.Read" };
using (var client = new HttpClient())
{
string requestUrl = "https://graph.microsoft.com/v1.0/users?$select=id,givenName,surname";
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUrl);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
Debug.WriteLine(request.ToString());
HttpResponseMessage response = client.SendAsync(request).Result;
responseString = response.Content.ReadAsStringAsync().Result;
Debug.WriteLine(responseString);
}
输出:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,givenName,surname)",
"value": [
{
"id": "000000000-0000-0000-000-000000000",
"givenName": "XXX",
"surname": "XXX"
}, {
"id": "000000000-0000-0000-000-000000000",
"givenName": "XXX",
"surname": "XXX"
}
]
}
如何获取用户组?
您可以为用户调用 user: getMemberGroups API 操作以获取他们的群组:
您需要像这样提出请求:
POST https://graph.microsoft.com/v1.0/users/user-id-here/getMemberGroups
Content-type: application/json
Content-length: 33
{
"securityEnabledOnly": true
}
securityEnabledOnly
参数定义它是否应该只 return 安全组。例如,将其设置为 false 也会 return 用户的 Office 365 组成员身份。
另一种方法是使用 memberOf
导航 属性:
GET https://graph.microsoft.com/v1.0/users/user-id-here/memberOf
此return用户是直接成员的组和目录角色。