You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何使用Microsoft.Azure.ActiveDirectory.GraphClient SDK编程邀请Azure AD B2B用户

使用Microsoft.Azure.ActiveDirectory.GraphClient实现Azure B2B用户邀请

嘿,我之前刚好折腾过用这个SDK来处理Azure B2B的用户邀请,完全可以实现!下面是具体的步骤和代码示例,帮你快速搞定:

1. 准备依赖包

首先确保你安装了必要的NuGet包:

  • Microsoft.Azure.ActiveDirectory.GraphClient:核心的AD Graph SDK
  • Microsoft.IdentityModel.Clients.ActiveDirectory:用于获取访问令牌

可以通过NuGet包管理器或者命令行安装:

Install-Package Microsoft.Azure.ActiveDirectory.GraphClient
Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory

2. 获取访问令牌

要调用AD Graph API,你需要先获取有效的访问令牌。这里以服务主体认证为例(也可以用用户凭据):

string tenantId = "你的租户ID";
string clientId = "你的服务主体ID";
string clientSecret = "你的服务主体密钥";
string resource = "https://graph.windows.net";

var authContext = new AuthenticationContext($"https://login.microsoftonline.com/{tenantId}");
var credential = new ClientCredential(clientId, clientSecret);
var authResult = await authContext.AcquireTokenAsync(resource, credential);
string accessToken = authResult.AccessToken;

3. 创建Graph客户端并发送邀请

接下来实例化GraphServiceClient,然后构建Invitation对象并发送:

// 初始化Graph客户端
var graphClient = new GraphServiceClient(
    new DelegateAuthenticationProvider((requestMessage) =>
    {
        requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
        return Task.FromResult(0);
    })
);

// 构建邀请对象
var invitation = new Invitation
{
    InvitedUserEmailAddress = "external.user@example.com", // 外部用户邮箱
    InvitedUserDisplayName = "External User", // 外部用户显示名
    SendInvitationMessage = true, // 是否自动发送邀请邮件
    InviteRedirectUrl = "https://your-app-url.com" // 用户接受邀请后跳转的URL
};

// 发送邀请
var createdInvitation = await graphClient.Invitations.AddInvitationAsync(invitation);

关键注意事项

  • 权限配置:你的服务主体需要被授予Directory.ReadWrite.All或者User.Invite.All的应用权限(必须是应用权限,委托权限可能无法生效),记得在Azure AD门户中给服务主体分配这些权限并授予管理员同意。
  • AD Graph弃用提醒:虽然这个SDK可以实现需求,但微软已经宣布Azure AD Graph将于2023年6月30日停止服务,长期来看建议迁移到Microsoft Graph SDK,对应的B2B邀请API更完善且持续维护。

内容的提问来源于stack exchange,提问作者user1500960

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:09:15