首页 > 解决方案 > 在 Azure AD 企业应用程序中发送直接链接以邀请 B2B 用户

问题描述

如何将指向我的 Azure AD 企业应用程序的直接链接发送给外部来宾用户?

例如,一个全新的 gmail 帐户,没有 microsoft 帐户,我不想通过电子邮件邀请他们。我只想发送一封电子邮件,其中包含指向我的应用程序的链接,他们没有 Microsoft 帐户设置。

这正是我想要的:

https://docs.microsoft.com/en-us/azure/active-directory/b2b/redemption-experience#redemption-through-a-direct-link

但它并没有说明如何实际做到这一点。这是来自上面的链接:

来宾邀请者可以通过发送指向共享应用程序的直接链接来邀请来宾用户。对于来宾用户,兑换体验就像登录与他们共享的应用程序一样简单。他们可以单击应用程序的链接,查看并接受隐私条款,然后无缝访问应用程序。在大多数情况下,来宾用户不再需要单击邀请电子邮件中的兑换 URL。

标签: azure-active-directory

解决方案


实际上,这是通过 Graph API 完成的,该文档中没有提到。

https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/invitation_post

HTTP 请求 POST /invitations

POST https://graph.microsoft.com/beta/invitations
Content-type: application/json
Content-length: 551

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

sendInvitationMessageboolean 默认为 false。这意味着不会向用户发送邀请。但是,用户仍然需要“兑换”邀请(创建一个 Microsoft 帐户,例如设置他们的密码)。

当您发布到 /invitations 时,您实际上可以发布整个邀请对象,这在这些文档中也不清楚。

{
  "invitedUserDisplayName": "string",
  "invitedUserEmailAddress": "string",
  "invitedUserMessageInfo": {"@odata.type": "microsoft.graph.invitedUserMessageInfo"},
  "sendInvitationMessage": false,
  "inviteRedirectUrl": "string",
  "inviteRedeemUrl": "string",
  "status": "string",
  "invitedUser": [{"@odata.type": "microsoft.graph.user"}]
}

推荐阅读