gpt4 book ai didi

azure-active-directory - 通过 Microsoft Graph API 在 Azure AD 中邀请用户不起作用

转载 作者:行者123 更新时间:2023-12-04 00:16:32 25 4
gpt4 key购买 nike

下面是我在 Azure AD 中邀请用户的代码。

我收到“未经授权”的回复。我不确定缺少什么权限/设置。有没有人有想法。

string accessToken = await AuthenticationHelper.GetTokenForApplication ();
InvitationModel invite = new InvitationModel ();
invite.invitedUserEmailAddress = user.Email;
invite.inviteRedirectUrl = ConfigurationManager.AppSettings["InviteRedirectUrl"];
invite.sendInvitationMessage = true;
using (HttpClient client = new HttpClient ()) {
client.BaseAddress = new Uri ("https://graph.microsoft.com");

client.DefaultRequestHeaders.Accept.Add (
new MediaTypeWithQualityHeaderValue ("application/json"));

client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue ("Bearer", accessToken);

HttpResponseMessage response =
client.PostAsJsonAsync<InvitationModel> ("v1.6/invitations", invite).Result;

dynamic inviteResult =
response.Content.ReadAsAsync<dynamic> ().Result;

if (inviteResult.status != "Error") { }
}

最佳答案

您的问题是您在此处混淆了 Microsoft Graph 和 Azure AD Graph。这是两个不同的 API,具有不同的调用转换和权限范围。

为了create an Invitation您将需要以下其中一项 permission scopes (请注意,第一个是最严格的权限(全局),最后一个是最宽松的):

  • User.Invite.All
  • User.ReadWrite.All
  • Directory.ReadWrite.All

请注意,所有这些范围都受管理员限制,并且需要 Admin Consent在你可以使用它们之前

获得有效 token 后,您需要使用 POST调用 https://graph.microsoft.com/v1.0/invitations以下正文:

{
"invitedUserEmailAddress": "yyy@test.com",
"inviteRedirectUrl": "https://myapp.com"
}

由于您使用的是 C#,我强烈建议您使用 Microsoft Graph Client Library而不是手动滚动您自己的 HttpClient 调用。

关于azure-active-directory - 通过 Microsoft Graph API 在 Azure AD 中邀请用户不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48095484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com