从microsoft graph获取域名\用户名

问题描述 投票:0回答:2

我们有一个应用程序,以

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

现在他们想迁移到云端。我们通过 Azure AD 中的应用程序对用户进行身份验证。然而,我们返回的

user
标识符是
[email protected]

我摆弄了

https://graph.microsoft.com/v1.0/users/email
和选择命令来尝试获取“旧”名称。然而,呃我还没找到如何获得它。

他们迁移到云端的原因是他们正在合并两个AD。因此,一些用户将是 DomainA,一些用户是 DomainB,但位于同一租户中。所以我的第一个想法是尝试将邮件转换为其他格式。然而,两个不同的AD有不同的命名标准。一个有

DOMAINA\fila
(名字的两个第一个字母和姓氏的两个第一个字母),另一个有
DOMAINB\firlas
。而且尝试以这种方式解决它感觉真的很难看。

是否可以通过 Microsoft Graph 获取格式为

domain\username
的用户登录名?

azure-active-directory microsoft-graph-api
2个回答
7
投票

使用 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)、多个域之间的域信任以及其他几个概念在云中根本不存在。


0
投票

示例请求如何从 Microsoft graph api 获取操作系统用户名 在此处输入图像描述

© www.soinside.com 2019 - 2024. All rights reserved.