azure - 从 Azure Active Directory 获取邮件昵称

标签 azure active-directory azure-active-directory azure-ad-graph-api

在此链接中:https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/users-operations有一个名为 mailNickname 的字段,它为 Active Directory 中的用户添加电子邮件别名。

我的组织使用这个。因此,1 个用户将拥有 2 个邮件 ID( [email protected][email protected] )

如何通过 API 从 Azure Active Directory 获取用户的别名列表?

我们已经实现了一个具有单点登录功能的网络应用程序,上述问题导致同一用户创建 2 个不同的帐户,并且两个帐户均未连接。

感谢任何帮助。

最佳答案

您正在将用户别名与用户电子邮件地址列表混合在一起。电子邮件别名是标识用户邮箱的唯一值,它不是电子邮件的必要部分,通常是。这是用户使用 POP 或 IMAP 访问其邮箱时使用的名称。

电子邮件地址您所说的别名是存储在 proyAddresses 中的电子邮件地址的集合:https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/entity-and-complex-type-reference#user-entity

您不应使用电子邮件作为识别用户的属性,而应使用 userPrincipalName (UPN),因为这是用于识别用户的值。 UPN 通常与电子邮件相同,但并非必须如此。

但是,用户 UPN也可能会发生变化。它可以做到这一点并且它会发生,因此如果您想将此信息存储在某处,而不是 UPN 获取用户的 objectId 并存储它。

如果您要基于 Azure AD 实现 SSO,您应该使用 ADAL.NET 等库 - 它正在为您处理所有这些操作:https://learn.microsoft.com/en-us/azure/active-directory/active-directory-authentication-libraries

关于azure - 从 Azure Active Directory 获取邮件昵称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41360675/

相关文章:

angularjs - 从Azure token 解析用户组信息?

asp.net-mvc - Azure 应用服务授权/简易身份验证与 ASP.NET 表单例份验证冲突

azure - Azure AD 身份验证、SQL 身份验证、MSI 和 token 库之间的区别

asp.net-mvc - .net mvc 与 Active Directory 集成并使用数据模型访问 System.DirectoryServices.AccountManagement

azure-active-directory - 获取 Azure AD V2 端点的访问 token 时如何指定资源 URI?

asp.net-core - Blazor 独立 WebAssembly 代表登录用户调用安全核心 API

azure - SQL Azure 捕获存储最大大小错误?

azure - 如何使用 Azure 通知中心设置 GCM 优先级

powershell - 在多个子域中使用SID搜索Active Directory用户

c# - 在 Active Directory 中存储应用程序数据