在此链接中:https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/users-operations有一个名为mailNickname的字段,用于为活动目录中的用户添加电子邮件别名。
我的组织使用此功能。因此,1个用户将拥有2个邮件ID(code@company.com和alias@company.com)
如何通过azure活动目录中的API获取用户的别名列表?
我们已经实施了一个单点登录的网络应用程序,上述问题导致同一个用户创建了两个不同的帐户,两者都没有连接。
感谢任何帮助。
答案 0 :(得分:1)
您正在将用户别名与用户电子邮件地址列表混合在一起。电子邮件别名是识别用户邮箱的唯一值,它通常不是电子邮件的必要组成部分。它是用户使用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://docs.microsoft.com/en-us/azure/active-directory/active-directory-authentication-libraries