当前位置: 首页 > 知识库问答 >
问题:

Microsoft Graph API中缺少Azure B2C注册电子邮件?

司寇祺
2023-03-14

我们有一个租户,在那里我们使用Azure B2C来处理对我们正在开发的客户门户的登录。当我们创建一个用户时,我们可以选择我们想要使用的登录类型。这里我们选择“电子邮件”,完成注册。

在API中,我们通过Microsoft Graph API获取所有用户,返回的字段中没有一个包含我们在注册用户时选择的“email”。

在通过Graph API运行/me/时,我们看到“mail”字段被填充,但在查询/users/时没有。

UserPrincipalName在Azure B2C控制面板中浏览用户时显示正确的电子邮件。但图形API查询将userPrincipalName显示为{guid}@{tenant}.onmicrosoft.com。

此外,email属性在Azure B2C中为空并被禁用。

如何通过Microsoft Graph API提取在Azure B2C中注册新用户时使用的“电子邮件”?

显示注册前后的截图

Microsoft Graph API的响应:

{Microsoft.Graph.User}  Microsoft.Graph.User
    DisplayName "MyEmail Test"  
    Id  "c04b6e19-503c-4035-b2ab-c763765b8e4c"  
    ODataType   "microsoft.graph.user"  
    UserPrincipalName   "916863de-42ac-449e-bec6-6f59d706c870@{tenant}.onmicrosoft.com" 

共有1个答案

姬坚成
2023-03-14

电子邮件地址被添加到用户对象的signInNames属性中,但signInNames属性在Graph API中不可用。

您可以使用下面的查询从identities集合获取Azure AD B2C用户的电子邮件。

https://graph.microsoft.com/beta/users/userid?select=identities

关于mail用户属性,它存储用户的SMTP地址。示例:当您向B2C用户发送invite(他们邮箱的验证码)时,用户电子邮件就会添加到mail属性中。

请参阅用户属性文档https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-profile-attributes

 类似资料:
  • 我试图建立我的应用程序的电子邮件验证部分。因此,用户输入他们的电子邮件,点击提交,他们将收到一封带有一次性“令牌”或链接的电子邮件,允许他们访问实际的注册页面。我如何处理这个与django的新版本,因为 来自django的 来自django的 代码似乎不起作用? 实际错误是无法从django导入name six。乌提尔斯。我在其他答案中看到,获取错误无法从“django”导入名称“six”。使用D

  • 在用户注册Firebase之前,我应该如何验证电子邮件地址?我知道电子邮件地址已通过,但这仅适用于当前用户。因此,必须在发送验证电子邮件之前创建用户。这不会有多大帮助,因为您显然必须在将电子邮件添加到数据库之前验证它。因此,什么是好的解决方法?

  • 我能够在注册前验证用户电子邮件。但我想收到验证电子邮件到我的电子邮件地址以完成注册过程。我想收到我的电子邮件地址的通知,并且只有在我批准后才完成注册过程。我检查了电子邮件验证:auth-service.ts 注册:

  • 问题内容: 我正在尝试检查是否已使用PDO注册了电子邮件,但是到目前为止,我还没有找到一种很好的方法来进行此操作。到目前为止,这就是我所拥有的。如果有帮助,则连接变量为“ $ con”。另外,我是否需要在同一文档中使用连接变量,还是在包含的文档中使用它? 问题答案: 尝试此操作,使用您的连接凭据填写DB_NAME,DB_USER_NAME和DB_USER_PASS,或者如果所有内容都正确地设置为P

  • 我创建了一个带有react和firebase身份验证的应用程序,我希望在注册/登录期间,我只需要输入“用户名”。 “用户名”@mydefaultdomain。通用域名格式

  • 我正在使用Vue,这是我的注册方法,它所做的是注册任何电子邮件ID... 我已在 Firebase 控制台中配置了电子邮件验证。现在,我希望注册方法发送验证邮件,并且只有在用户已验证电子邮件时才注册用户。 我应该如何修改现有代码?我很困惑。