我希望能够在我们的 Azure B2C 实例中创建新用户,并使用他们的首选电子邮件地址作为访问我们的 Web 门户时使用的用户名。
我正在使用邀请 Microsoft Graph API 来邀请新用户,这会向他们发送一封电子邮件,然后他们会向我们注册。然而,这会使用他们的电子邮件和我们的域的组合为他们分配一个唯一的用户名,即 myemail_adomain.com#EXT#@our_verified_domain.com。
这会导致糟糕的用户体验,因为用户需要记住这个非常难记的用户名。记住密码对于用户来说已经是一个挑战了。
如果我在 Azure B2C 门户内创建用户,我可以使用创建 Azure AD B2C 用户向他们提供我想要的任何电子邮件地址,而不是我们经过验证的域之一
我希望能够通过 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/