azure - 使用电子邮件地址作为用户名邀请外部用户加入 Azure B2C

标签 azure microsoft-graph-api azure-b2c

我希望能够在我们的 Azure B2C 实例中创建新用户,并使用他们的首选电子邮件地址作为访问我们的 Web 门户时使用的用户名。

我正在使用邀请 Microsoft Graph API 来邀请新用户,这会向他们发送一封电子邮件,然后他们会向我们注册。然而,这会使用他们的电子邮件和我们的域的组合为他们分配一个唯一的用户名,即 myemail_adomain.com#EXT#@our_verified_domain.com。

这会导致糟糕的用户体验,因为用户需要记住这个非常难记的用户名。记住密码对于用户来说已经是一个挑战了。

如果我在 Azure B2C 门户内创建用户,我可以使用创建 Azure AD B2C 用户向他们提供我想要的任何电子邮件地址,而不是我们经过验证的域之一

enter image description here

我希望能够通过 API 使用此方法。

前 2 个选项“创建”和“邀请用户”可通过 Microsoft Graph Inviations API 获取。 和 Create User API但我找不到执行选项 3 的方法。

Create API 不允许未经验证的域,并且 Invite API 会创建唯一的用户名,这对用户非常不友好。

有人知道我该怎么做吗?

另一个选择是让他们通过注册用户流程自行注册,但我宁愿避免这种情况,因为我想控制允许谁注册。

最佳答案

此示例 JSON 将创建您想要的用户类型(来自 https://learn.microsoft.com/en-us/graph/api/invitation-post?view=graph-rest-1.0&tabs=http)

{
  accountEnabled: true,
  displayName: '<displayName>',
  givenName: '<givenName>',
  surname: '<surname>',
  identities: [
    {
      signInType: 'emailAddress',
      issuer: <issuer>,
      issuerAssignedId: '<email>'
    }
  ],
  passwordProfile : {
    password: '<password>',
    forceChangePasswordNextSignIn: false
  },
  passwordPolicies: "DisablePasswordExpiration",
}

<issuer>将是你的onmicrosoft.com配置值(来自 B2C 门户)。

请注意,这不会执行您所要求的邀请,但它会让您创建电子邮件,例如 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b7c4d8dad2c2c4d2c5f7d0dad6dedb99d4d8da" rel="noreferrer noopener nofollow">[email protected]</a>

关于azure - 使用电子邮件地址作为用户名邀请外部用户加入 Azure B2C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73285439/

相关文章:

c# - 从作为 Azure Web App 托管的 ASP.NET 5 应用程序进行日志记录

excel - 查找工作表中的总行数和列数 - Microsoft Graph

azure - Microsoft 帐户的用户 id 是否与 ID token 中的 oid 声明相同?

microsoft-graph-api - 使用带有客户端身份验证的 MSGraph API 访问 OneDrive 目录和文件

使用 Graph API 创建的应用程序注册请求 token 时,Azure B2C invalid_grant 错误

python - Azure B2C : Error in the callback after the edit profile when it tries to get a new token

azure - 在 azure b2c 用户流程中使用已注册的电子邮件时,向用户显示未定义的错误

c# - Windows Azure QueueClient 推荐的缓存?

.net - 使用云计算作为开发环境

azure - 当 Azure 网站和 SQL Azure 遭遇严重中断(如今天)时该怎么办?