You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AD来宾用户类型:如何判断受邀来宾用户的认证账户类型?

判断Azure AD来宾用户的认证类型

嘿,这个问题问得很实用!要判断Azure AD里的来宾用户是用Microsoft Account(个人账户)还是工作/学校账户登录的,有几个靠谱的办法,我给你一一梳理:

1. 直接在Azure AD门户里查

这是最直观的方式:

  • 登录Azure AD门户,找到「用户」列表,定位到你要检查的来宾用户
  • 先看用户主体名称(UPN):
    • 如果后缀是live.com、outlook.com、hotmail.com这类公共域名,基本可以确定是Microsoft Account(MSA)
    • 如果是企业自定义域名(比如contoso.com),那就是工作/学校账户
  • 再点开用户详情,在「配置文件」或「身份验证方法」标签里,能看到明确的身份源标注:MSA会显示“Microsoft Account”,组织账户则会带出对应的租户名称

2. 用PowerShell批量或精准查询

如果需要批量检查或者自动化操作,PowerShell是个好帮手,推荐用Microsoft Graph PowerShell模块:

  • 先连接Graph:
Connect-MgGraph -Scopes User.Read.All
  • 然后查询目标用户的关键属性:
Get-MgUser -UserId "guestuser@contoso.com" -Property UserType, Identities
  • 重点看返回结果里的Identities数组:
    • SignInType为userName通常对应MSA;如果是emailAddress且关联企业域名,就是组织账户
    • Issuer字段更直接:MSA的颁发者是live.com,组织账户的颁发者是对应的企业租户域名或租户ID

3. 通过Microsoft Graph API集成到应用里

如果你的应用需要实时判断用户类型,可以调用Graph API:

  • 发起GET请求,指定要获取的属性:
GET https://graph.microsoft.com/v1.0/users/{user-id}?$select=identities,userType
  • 解析返回的identities字段:
    • 当issuer是live.com、outlook.com这类公共域名,就是MSA
    • 当issuer是企业租户的专属域名或租户ID,就是工作/学校账户

额外小贴士

有些来宾用户可能关联了多个身份,但主身份的issuer和signInType才是判断核心。另外,如果你能拿到用户的ID Token,也可以直接解析令牌里的iss(颁发者)字段:MSA的颁发者是固定的租户ID 9188040d-6c67-4c5b-b112-36a304b66dad,而组织账户的iss会是对应的企业租户ID。

内容的提问来源于stack exchange,提问作者RickWeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:21:17