Azure active directory 从microsoft graph获取域\用户名

Azure active directory 从microsoft graph获取域\用户名,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我们有一个应用程序,其中以domain\username格式存储用户登录名。我们通过windows进行身份验证,然后通过将从用户处获得的domain\username与数据库进行匹配,从数据库中获取其他信息 现在他们想转移到云端。我们通过Azure AD中的应用程序对用户进行身份验证。然而,我们得到的用户标识符首先是。last@domain.com 我一直在玩弄https://graph.microsoft.com/v1.0/users/email和select命令尝试获取“旧”名称。但是,呃,

我们有一个应用程序,其中以
domain\username
格式存储用户登录名。我们通过windows进行身份验证,然后通过将从用户处获得的
domain\username
与数据库进行匹配,从数据库中获取其他信息

现在他们想转移到云端。我们通过Azure AD中的应用程序对用户进行身份验证。然而,我们得到的
用户
标识符首先是
。last@domain.com

我一直在玩弄
https://graph.microsoft.com/v1.0/users/email
和select命令尝试获取“旧”名称。但是,呃,我还没有找到得到它的方法

他们转向云的原因是他们正在合并两个广告。因此,一些用户将是DomainA和DomainB,但在同一租户中。因此,我的第一个想法是尝试将邮件转换为其他格式。然而,这两个不同的广告有不同的命名标准。一个有
DOMAINA\fila
(名字的两个首字母和姓氏的两个首字母),另一个有
DOMAINB\firlas
。而且,试图用这种方式解决问题,感觉真的很难看


是否可以通过Microsoft Graph获取格式为
domain\username
的用户登录名?

使用Graph的
beta
版本,您可以从
onPremisesDomainName
onPremisesSamAccountName
属性获取用户的域和用户名:

/beta/users?$select=userPrincipalName,onPremisesDomainName,onPremisesSamAccountName
域存储为FQDN,因此您需要进行一些转换。例如,
domainName.ad.contoso.com
可能会转换为
domainName\

这将为您提供一个变通方法,以便您可以将用户与内部数据库相匹配。然而,这只是一个临时解决办法。长期来看,您确实希望迁移到使用
userPrincipalName
。这是主要用户标识符,保证在给定租户中是唯一的

Azure AD与传统的Active Directory略有不同。传统AD中的某些概念,如组织单元(OU)、组策略对象(GPO)、Kerberos身份验证、轻量级目录访问协议(LDAP)、多个域之间的域信任以及其他一些概念,在云中根本不存在