Azure AD B2C - 我们可以使用电子邮件 ID 而不是 UPN 登录 - 仅限本地帐户自定义策略吗?

Posted

技术标签:

【中文标题】Azure AD B2C - 我们可以使用电子邮件 ID 而不是 UPN 登录 - 仅限本地帐户自定义策略吗?【英文标题】:Azure AD B2C - Can we sign-in using email-id instead of UPN - local accounts only custom policy? 【发布时间】:2021-10-11 00:00:06 【问题描述】:

我正在使用 Azure AD B2C 本地帐户仅登录自定义策略(即无注册)。我需要使用电子邮件作为登录 ID 而不是 UPN。我找不到任何 Microsoft 指南来更改此要求的自定义策略。

我可以看到的唯一链接https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-use-email-signin(Microsoft 预览版)和https://github.com/azure-ad-b2c/samples/tree/master/policies/username-or-email,但就我需要在本地帐户上更改的内容而言,它没有太大帮助,只有自定义策略才能使用替代登录电子邮件 ID 登录。请问有人能解释一下吗?

【问题讨论】:

默认情况下,AAD B2C 使用电子邮件,从不使用 UPN。目前尚不清楚您要做什么。 @JasSuri-MSFT 谢谢,目前我使用本地帐户 UPN 登录(例如,localb2c@.onmicrosoft.com,我的客户更喜欢使用他们的公司电子邮件 ID的 UPN。例如,username@.com。由于安全合规性,我们不会与本地 AD 连接。不过,登录 ID 应该与他们的公司电子邮件 ID 匹配。我能够在“otherMails”上捕获他们公司的电子邮件 ID。我正在寻找使用 OtherMails 而不是 UPN 进行登录的 B2C 自定义策略。请问我们还有其他自定义属性来捕获电子邮件输入吗?谢谢。 【参考方案1】:

创建用户时,将公司电子邮件添加到身份集合中。

https://docs.microsoft.com/en-us/graph/api/user-post-users?view=graph-rest-1.0&tabs=http#example-2-create-a-user-with-social-and-local-account-identities

  "identities": [
    
      "signInType": "emailAddress",
      "issuer": "yourB2C.onmicrosoft.com",
      "issuerAssignedId": "username@<company domain name>.com"
    
  ]

【讨论】:

非常感谢,让我通过 Graph API 创建用户来尝试这种方法,并让您随时了解这篇文章。 :) 再次感谢。 你是明星!它工作得很好。谢谢。 Jas Suri,只是想尝试另一种方法,我创建了登录类型为用户名和电子邮件 ID 的 b2c 用户帐户,我希望 sso 登录页面接受用户名作为登录 - id,但是显示错误“请输入有效的电子邮件地址”。这是我需要更改github.com/azure-ad-b2c/samples/tree/master/policies/… 中提到的登录自定义策略的东西吗?谢谢。 当然可以,按照示例,将两个身份添加到身份集合中,一个是电子邮件类型,另一个是用户名类型。 UPN 对于 AAD 帐户是强制性的。 /user 的 Graph API 文档显示了创建这两种类型的用户的示例。

以上是关于Azure AD B2C - 我们可以使用电子邮件 ID 而不是 UPN 登录 - 仅限本地帐户自定义策略吗?的主要内容,如果未能解决你的问题,请参考以下文章

Azure AD B2C 自定义密码重置策略不会使用 + char\sign 验证电子邮件

如何在 Azure AD B2C 中将电子邮件验证码更改为验证电子邮件的链接

Azure AD B2C - 自定义策略中的“电子邮件”声明

Azure AD B2C 自助服务密码重置链接不起作用 [关闭]

Azure AD 与 Azure AD B2C 与 Azure AD B2B

刷新 id_token 时,Azure AD B2C 似乎在创建“未知”用户?