团体超额索赔
Groups overage claim
我收到针对针对 Azure AD 进行身份验证的用户的组超额索赔。如下所示:
{"src1":{"endpoint":"https://graph.windows.net/TENANTID/users/USERID/getMemberObjects"}}
我的想法是我可以调用那个端点,我确实喜欢这样:
var authenticationContext =
new AuthenticationContext(
ctx.Options.Authority);
var clientCredentials =
new ClientCredential(ctx.Options.ClientId, ctx.Options.ClientSecret);
var result =
await authenticationContext.AcquireTokenAsync("https://graph.windows.net", clientCredentials);
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {result.AccessToken}");
var httpResponse =
await httpClient.GetAsync("https://graph.windows.net/TENANTID/users/USERID/getMemberObjects?api-version=1.6");
var jsonresult =
await httpResponse.Content.ReadAsStringAsync();
}
我认为这会起作用,但它并不是在抱怨它希望该方法是 Post
。不确定我会为 Content 传递什么,但它在 Postman 中尝试过,但仍然失败。
我希望我只是让这变得比它需要的更困难,但就我的生活而言,我找不到一个很好的例子来说明如何从 MVC 调用图形 API核心应用
如有任何帮助,我们将不胜感激!
更新
我将其更改为 Post
并传入 null
正文,并收到错误代码 Authorization_RequestDenied
和值 Insufficient privileges to complete the operation.
.
确保授予应用程序 Directory.Read.All 权限。
终于弄清了我的问题!我需要将我的请求更改为 POST
并添加 { "securityEnabledOnly": false }
作为正文 - 感谢@MdFaridUddinKiron 对此的帮助!
我缺少的一件事是授予我的应用程序管理员许可。
希望这对其他人有帮助!
对于 azure ad Graph 你的请求格式不正确你可以尝试以下方式
请求URL:
https://graph.windows.net/TenantId/users/UserId/getMemberObjects?api-version=1.6
方法类型: POST
请求正文
{
"securityEnabledOnly": false
}
邮递员示例:
需要权限:
Permission Type: Application
Directory.Read.All Or Directory.ReadWrite.All
查看屏幕截图:
详情可以参考这个official docs
我收到针对针对 Azure AD 进行身份验证的用户的组超额索赔。如下所示:
{"src1":{"endpoint":"https://graph.windows.net/TENANTID/users/USERID/getMemberObjects"}}
我的想法是我可以调用那个端点,我确实喜欢这样:
var authenticationContext =
new AuthenticationContext(
ctx.Options.Authority);
var clientCredentials =
new ClientCredential(ctx.Options.ClientId, ctx.Options.ClientSecret);
var result =
await authenticationContext.AcquireTokenAsync("https://graph.windows.net", clientCredentials);
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {result.AccessToken}");
var httpResponse =
await httpClient.GetAsync("https://graph.windows.net/TENANTID/users/USERID/getMemberObjects?api-version=1.6");
var jsonresult =
await httpResponse.Content.ReadAsStringAsync();
}
我认为这会起作用,但它并不是在抱怨它希望该方法是 Post
。不确定我会为 Content 传递什么,但它在 Postman 中尝试过,但仍然失败。
我希望我只是让这变得比它需要的更困难,但就我的生活而言,我找不到一个很好的例子来说明如何从 MVC 调用图形 API核心应用
如有任何帮助,我们将不胜感激!
更新
我将其更改为 Post
并传入 null
正文,并收到错误代码 Authorization_RequestDenied
和值 Insufficient privileges to complete the operation.
.
确保授予应用程序 Directory.Read.All 权限。
终于弄清了我的问题!我需要将我的请求更改为 POST
并添加 { "securityEnabledOnly": false }
作为正文 - 感谢@MdFaridUddinKiron 对此的帮助!
我缺少的一件事是授予我的应用程序管理员许可。
希望这对其他人有帮助!
对于 azure ad Graph 你的请求格式不正确你可以尝试以下方式
请求URL:
https://graph.windows.net/TenantId/users/UserId/getMemberObjects?api-version=1.6
方法类型: POST
请求正文
{
"securityEnabledOnly": false
}
邮递员示例:
需要权限:
Permission Type: Application
Directory.Read.All Or Directory.ReadWrite.All
查看屏幕截图:
详情可以参考这个official docs