本文提供管理员用于解决部署和使用 企业 SSO 插件的问题的故障排除指南。 Apple SSO 扩展可部署到 iOS/iPadOS 和 macOS。
组织可以选择将 SSO 部署到其企业设备,以便为最终用户提供更好的体验。 在 Apple 平台上,此过程涉及通过 主刷新令牌实现单一登录(SSO)。 SSO 可减轻最终用户处理过多身份验证提示的负担。
Microsoft 实现了基于 Apple SSO 框架构建的插件,它为与 Microsoft Entra ID 集成的应用程序提供代理身份验证。 有关详细信息,请参阅文章 Microsoft 企业 SSO 插件适用于 Apple 设备。
扩展类型
Apple 支持属于其框架的两种 SSO 扩展类型:重定向和凭据。 Microsoft 企业 SSO 插件已实现为重定向类型,最适合用于代理 Microsoft Entra ID 身份验证。 下表比较了这两种类型的扩展。
扩展类型 | 最适用于 | 工作原理 | 主要区别 |
---|---|---|---|
重定向 | 新式身份验证方法,例如 OpenID Connect、OAUTH2 和 SAML (Microsoft Entra ID) | 操作系统截获从应用程序到扩展 MDM 配置文件中定义的标识提供者 URL 的身份验证请求。 重定向扩展接收:URL、标头和正文。 | 在请求数据之前请求凭据。 在 MDM 配置文件中使用 URL。 |
凭据 | 质询和响应身份验证类型,例如 Kerberos(本地 Active Directory 域服务) | 请求从应用程序发送到身份验证服务器(AD 域控制器)。 在 MDM 配置文件中使用 HOSTS 配置凭据扩展。 如果身份验证服务器返回与配置文件中列出的主机匹配的质询,操作系统会将质询路由到扩展。 扩展可以选择处理或拒绝质询。 如果已处理,扩展会返回授权标头来完成请求,身份验证服务器会向调用方返回响应。 | 然后,请求数据接受身份验证质询。 在 MDM 配置文件中使用 HOST。 |
Microsoft 为以下客户端操作系统提供了代理身份验证实现:
OS | 身份验证代理 |
---|---|
Windows操作系统 | Web 帐户管理器 (WAM) |
iOS/iPadOS | Microsoft验证器 |
安卓 | Microsoft Authenticator 或 Microsoft Intune 公司门户 |
macOS | Microsoft Intune 公司门户(通过 SSO 扩展) |
所有 Microsoft 代理应用程序都使用称为主刷新令牌 (PRT) 的关键项目,这是一种 JSON Web 令牌 (JWT),用于获取受 Microsoft Entra ID 保护的应用程序和 Web 资源的访问令牌。 通过 MDM 部署时,适用于 macOS 或 iOS 的企业 SSO 扩展会获得一个 PRT,它类似于 Web 帐户管理器 (WAM) 在 Windows 设备上使用的 PRT。 有关详细信息,请参阅文章 “什么是主刷新令牌”。
模型故障排除
下面的流程图概述了用于排查 SSO 扩展问题的逻辑流。 本文的其余部分将详细介绍此流程图中描述的步骤。 故障排除可以分为两个单独的重点领域: 部署 和 应用程序身份验证流。
在 macOS 上选择停用平台 SSO 的步骤
若要选择停用错误启用的 PSSO,管理员应从设备中移除启用了 PSSO 的 SSO 扩展配置文件,并部署禁用/移除了 PSSO 标志的新 SSO 扩展配置文件。
- 移除启用了 PSSO 的 SSO 配置文件的目标
- 启动设备同步,以便从设备中移除启用了 PSSO 的 SSO 配置文件
- 使用禁用 PSSO 的新 SSO 配置文件定位设备
- 启动设备同步以获取设备上安装的新配置文件
重要说明
注意:在 PSSO 注册完成后更新设备上的现有 SSO 配置文件无法帮助禁用 PSSO。 只有从设备中完全移除 SSO 配置文件才会从设备中删除 PSSO 状态。
上下文:
用户将在两种情况下开始在 macOS 13+ 设备上看到 PSSO 注册通知:
- 如果设备已有支持 PSSO 的 Intune 公司门户版本,并且管理员部署了已启用 PSSO 的新 SSO 扩展策略
- 如果已使用启用了 PSSO 的 SSO 扩展策略将用户作为目标,并随后在设备上安装了支持 PSSO 的 Intune 公司门户版本。
警告
管理员不应将启用了 PSSO 的 SSO 扩展策略的用户作为目标,除非已对其进行测试和部署,因为这可能会中断现有用户及其符合性条件。
重要说明
注意:对于完成 PSSO 注册的用户,将从密钥链中移除旧的 WPJ 注册。 如果本不应进行 PSSO 注册,那么在管理员移除具有 PSSO 的 SSO 配置文件并安装没有 PSSO 的新配置文件后,应再次执行旧的 WPJ 注册,以使设备符合要求。
部署故障排除
客户遇到的大多数问题都源于 SSO 扩展配置文件的移动设备管理 (MDM) 配置不正确,或者 Apple 设备无法从 MDM 接收配置文件。 本部分介绍你可执行哪些步骤来确保 MDM 配置文件已部署到 Mac 且具有正确的配置。
部署要求
- macOS 操作系统:版本 10.15 (Catalina) 或更高版本。
- iOS 操作系统:版本 13 或更高版本。
- 设备由任何支持 Apple macOS 和/或 iOS(MDM 注册)的 MDM 供应商管理。
- 已安装身份验证代理软件: Microsoft Intune 公司门户 或 适用于 iOS 的 Microsoft Authenticator。
检查 macOS 操作系统版本
使用以下步骤检查 macOS 设备上的操作系统 (OS) 版本。 Apple SSO 扩展配置文件仅部署到运行 macOS 10.15 (Catalina) 或更高版本的设备。 可以从 用户界面 或 终端检查 macOS 版本。
用户界面
在 macOS 设备中,选择左上角的 Apple 图标,然后选择“关于此 Mac”。
操作系统版本在 macOS 旁边列出。
终端
在 macOS 设备上,双击“应用程序”文件夹,然后双击“实用工具”文件夹。
双击“终端”应用程序。
当终端在提示符下打开类型 sw_vers 时,查找如下所示的结果:
% sw_vers ProductName: macOS ProductVersion: 13.0.1 BuildVersion: 22A400
检查 iOS 操作系统版本
按照以下步骤检查 iOS 设备上的操作系统 (OS) 版本。 Apple SSO 扩展配置文件仅部署到运行 iOS 13 或更高版本的设备。 可通过“设置”应用检查 iOS 版本。 打开“设置”应用:
导航到“常规”,然后导航到“关于”。 此屏幕上列出了设备的相关信息,包括 iOS 版本号:
SSO 扩展配置文件的 MDM 部署
请与 MDM 管理员(或设备管理团队)协作,确保将扩展配置文件部署到 Apple 设备。 可以从支持 macOS 或 iOS 设备的任何 MDM 部署扩展配置文件。
重要说明
Apple 要求将设备注册到 MDM 中才能部署 SSO 扩展。
下表提供了具体的 MDM 安装指南,具体取决于要将扩展部署到哪种 OS:
重要说明
尽管部署 SSO 扩展支持任何 MDM,但许多组织通过评估 MDM 符合性策略来实现 基于设备的条件访问策略 。 如果使用第三方 MDM,请确保 MDM 供应商支持 Intune 合作伙伴符合性 (如果想要使用基于设备的条件访问策略)。 通过 Intune 或支持 Intune 合作伙伴合规性的 MDM 提供商部署 SSO 扩展时,该扩展可以将设备证书传递给 Microsoft Entra ID,以便完成设备身份验证。
验证 macOS 设备上的网络配置
Apple 的 SSO 扩展框架和基于其生成的 Microsoft 企业 SSO 扩展要求某些域免受 TLS 拦截/检查(也称为中断和检查代理)。 以下域 不得 接受 TLS 检查:
- app-site-association.cdn-apple.com
- app-site-association.networking.apple
检查 SSO 配置是否因 TLS 检查而损坏
可以通过从受影响设备上的终端应用程序运行 sysdiagnose 来验证 TLS 检查是否影响 SSO 配置:
sudo sysdiagnose -f ~/Desktop/
sysdiagnose 将以 .tar.gz 存档的形式保存到桌面。 提取存档并打开 system_logs.logarchive 文件。 此文件将在控制台应用程序中打开。 搜索 com.apple.appsso 并将筛选器更改为 SUBSYSTEM:
查找表明存在关联域故障的事件,尤其是与 Microsoft 域(例如 login.microsoftonline.com)相关的事件。 这些事件可能表明出现了 TLS 检查问题,这会导致 SSO 扩展无法正常工作。 即使受到不支持的 TLS 检查配置的影响,Apple 域也不会出现在 sysdiagnose 日志中。
验证 TLS 检查配置
Apple 提供了一个 macOS 工具来检查许多常见配置问题,此工具名为 Mac Evaluation Utility。 此工具可从 适用于 IT 的 AppleSeed 下载。 如果你有权访问 AppleSeed for IT,请从“资源”区域下载 Mac Evaluation Utility。 安装该应用程序后,运行评估。 评估完成后,导航到 HTTPS 拦截 -->“其他内容 ”,> 并检查以下两项:
如果这些检查出现警告或错误,则表明设备上可能发生了 TLS 检查。 请与网络团队协作,从 TLS 检查中免除 *.cdn-apple.com 和 *.networking.apple 。
输出详细的 swcd 日志
Apple 提供了一个调用 swcutil
的命令行实用工具,用于监视关联域验证的进度。 可以使用以下命令监视任何关联的域错误:
sudo swcutil watch --verbose
在日志中找到以下条目,如果标记为已批准或存在任何错误,则检查:
```
Entry s = authsrv, a = UBF8T346G9.com.microsoft.CompanyPortalMac, d = login.microsoftonline.com
```
清除 macOS TLS 检查缓存
如果关联域存在问题,并且设备上 TLS 检查工具中存在允许列表的域,则可能要花费一些时间来调查 Apple 的关联域验证缓存。 不幸的是,没有确定性的步骤能够在所有计算机上重新触发关联域重新验证,不过可以尝试几种方法。
可以运行以下命令来重置设备的缓存:
pkill -9 swcd
sudo swcutil reset
pkill -9 AppSSOAgent
重置缓存后,重新测试 SSO 扩展配置。
此命令有时并不足够,不能完全重置缓存。 在这种情况下,可以尝试使用以下方法:
- 删除或将 Intune 公司门户应用移动到回收站,然后重启设备。 重启完成后,可以尝试重新安装公司门户应用。
- 重新注册设备。
如果上述方法都无法解决问题,则环境中可能存在可能阻止关联域验证的其他内容。 如果发生这种情况,请联系 Apple 支持人员进行进一步故障排除。
确保已启用系统完整性保护(SIP)
企业 SSO 框架需要成功验证代码签名。 如果计算机已显式退出 系统完整性保护(SIP),则代码签名可能无法正常工作。 如果发生这种情况,计算机将遇到 sysdiagnose 故障,如以下错误所示:
Error Domain=com.apple.AppSSO.AuthorizationError Code=-1000 "invalid team identifier of the extension=com.microsoft.CompanyPortalMac.ssoextension" UserInfo={NSLocalizedDescription=invalid team identifier of the extension=com.microsoft.CompanyPortalMac.ssoextension}
若要解决此问题,请执行以下步骤之一:
- 在受影响的计算机上重新启用系统完整性保护。
- 如果无法重新启用系统完整性保护,请确保
sudo nvram boot-args
未将amfi_get_out_of_my_way
值设置为1
。 如果这样做,请删除该值或将其设置为0
来解决此问题。
验证 macOS 设备上的 SSO 配置文件
假设 MDM 管理员已按照上一部分 MDM 部署 SSO 扩展配置文件中的步骤作,下一步是验证配置文件是否已成功部署到设备。
查找 SSO 扩展 MDM 配置文件
在 macOS 设备上,选择“系统设置”。
“系统设置”出现时,键入“配置文件”并点击“返回”。
此操作应调出“配置文件”面板。
屏幕截图标注 说明 1 指示设备在 MDM 的管理下。 2 可能有多个配置文件可供选择。 在此示例中,Microsoft 企业 SSO 扩展配置文件称为 Extensible Single Sign On Profile-32f37be3-302e-4549-a3e3-854d300e117a。 注意
根据所使用的 MDM 类型,可能会列出多个配置文件,其命名方案是任意的,具体取决于 MDM 配置。 选择每个配置文件,检查“设置”行是否指示它是“单一登录扩展”。
双击“设置”值为“单一登录扩展”的配置文件。
屏幕截图标注 配置文件设置 说明 1 签署 MDM 提供商的签名机构。 2 已安装 显示扩展何时安装(或更新)的日期/时间戳。 3 设置:单一登录扩展 指示此配置文件是 Apple SSO 扩展类型。 4 扩展 映射到应用程序(其运行 Microsoft 企业扩展插件)捆绑 ID 的标识符。 如果配置文件安装在 macOS 设备上,标识符必须始终设置为 com.microsoft.CompanyPortalMac.ssoextension
,并且团队标识符必须显示为 (UBF8T346G9)。 如果有任何值不同,MDM 无法正确调用扩展。5 类型 Microsoft 企业 SSO 扩展必须始终设置为“重定向”扩展类型。 有关详细信息,请参阅 重定向与凭据扩展类型。 6 URL 属于标识提供者 (Microsoft Entra ID) 的登录 URL。 请参阅 支持的 URL 列表。 所有 Apple SSO 重定向扩展都必须在配置文件中具有以下 MDM 有效负载组件:
MDM 有效负载组件 说明 扩展标识符 包括运行扩展的 macOS 设备上应用程序的捆绑标识符和团队标识符。 注意:Microsoft 企业 SSO 扩展应始终设置为:com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9),以通知 macOS 操作系统扩展客户端代码是 Intune 公司门户应用程序的一部分。 类型 必须设置为“重定向”,以指示“重定向扩展”类型。 URL 标识提供者 (Microsoft Entra ID) 的终结点 URL,操作系统在这里将身份验证请求路由到扩展。 可选扩展特定配置 可充当配置参数的字典值。 在 Microsoft 企业 SSO 扩展的语境中,这些配置参数称为功能标志。 请参阅 功能标志定义。 注意
可以在针对 Apple 设备的“可扩展单一登录”MDM 有效负载设置一文中参考 Apple SSO 扩展配置文件的 MDM 定义。Microsoft 基于此架构实现了我们的扩展。 请参阅 适用于 Apple 设备的Microsoft企业 SSO 插件
若要验证是否已为 Microsoft 企业 SSO 扩展安装正确的配置文件,“扩展”字段应当为:com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9)。
记下配置文件中的“已安装”字段,因为更改配置时,它可能是一个有用的故障排除指标。
如果已验证正确的配置文件,请转到 “应用程序身份验证流故障排除 ”部分。
缺少 MDM 配置文件
如果在完成上一部分的步骤后,“配置文件”列表中未显示 SSO 扩展配置文件,则可能是 MDM 配置已启用用户或设备定向,从而有效地筛选出用户或设备,导致其未接收到配置文件。 请与 MDM 管理员联系,并收集在下一部分中找到的控制台日志。
收集特定于 MDM 的控制台日志
在 macOS 设备上,双击“应用程序”文件夹,然后双击“实用工具”文件夹。
双击“控制台”应用程序。
单击“开始”按钮,启用控制台跟踪日志记录。
让 MDM 管理员尝试将配置文件重新部署到此 macOS 设备/用户,并强制实施一个同步周期。
在搜索栏中键入 subsystem:com.apple.ManagedClient 并点击“返回”。
在搜索栏中光标闪烁的位置键入 message:Extensible。
现在应看到根据“可扩展 SSO”配置文件活动筛选的 MDM 控制台日志。 以下屏幕截图显示了“已安装配置文件”日志条目,其中显示已安装配置文件。
应用程序身份验证流故障排除
本部分中的指南假定 macOS 设备具有正确部署的配置文件。 有关步骤,请参阅验证 macOS 设备上的 SSO 配置文件。
部署后,适用于 Apple 设备的 Microsoft 企业 SSO 扩展针对每种应用程序类型支持两种应用程序身份验证流类型。 进行故障排除时,请务必了解所使用的应用程序类型。
应用程序类型
应用程序类型 | 交互式身份验证 | 无提示身份验证 | 说明 | 示例 |
---|---|---|---|---|
原生 MSAL 应用 | X | X | MSAL(Microsoft 身份验证库)是一个应用程序开发人员框架,专用于通过 Microsoft 标识平台 (Microsoft Entra ID) 生成应用程序。 基于 MSAL 1.1 或更高版本构建的应用能够与 Microsoft 企业 SSO 扩展集成。 如果应用程序支持 SSO 扩展(中转站),它会自动利用该扩展,无需进行任何进一步的配置。有关详细信息,请参阅我们的 MSAL 开发人员示例文档。 |
微软待办 |
非 MSAL 原生/浏览器 SSO | X | 可将使用 Apple 网络技术或 Web 视图的应用程序配置为从 SSO 扩展获取共享凭据 必须配置功能标志,确保允许每个应用的捆绑 ID 获取共享凭据 (PRT)。 |
Microsoft Word Safari Microsoft Edge Visual Studio |
重要说明
并非所有 Microsoft 第一方原生应用程序都使用 MSAL 框架。 在本文发布时,大多数 Microsoft Office macOS 应用程序仍依赖于较旧的 ADAL 库框架,因此依赖于浏览器 SSO 流。
如何在 macOS 上查找应用程序的捆绑 ID
在 macOS 设备上,双击“应用程序”文件夹,然后双击“实用工具”文件夹。
双击“终端”应用程序。
终端打开时,在提示符处键入
osascript -e 'id of app "<appname>"'
。 请查看下面的一些示例:% osascript -e 'id of app "Safari"' com.apple.Safari % osascript -e 'id of app "OneDrive"' com.microsoft.OneDrive % osascript -e 'id of app "Microsoft Edge"' com.microsoft.edgemac
收集捆绑 ID 后,请按照 我们的指南配置功能标志 ,以确保 非 MSAL Native/Browser SSO 应用 可以利用 SSO 扩展。 注意:对于功能标志配置,所有捆绑 ID 都区分大小写。
警告
不使用 Apple 网络技术(例如 WKWebview 和 NSURLSession)的应用程序将无法使用来自 SSO 扩展的共享凭据 (PRT)。 Google Chrome 和 Mozilla Firefox 都属于此类别。 即使它们在 MDM 配置文件中进行配置,结果也会在浏览器中显示常规身份验证提示。
启动
默认情况下,只有 MSAL 应用调用 SSO 扩展,然后该扩展又会从 Microsoft Entra ID 获取共享凭据 (PRT)。 但可以通过配置 Safari 浏览器应用程序或其他非 MSAL 应用程序来获取 PRT。 请参阅 允许用户从不使用 MSAL 和 Safari 浏览器的应用程序中登录。 SSO 扩展获取 PRT 后,会将凭据存储在用户的登录钥匙串中。 接下来进行检查,确保 PRT 存在于用户的密钥链中:
检查密钥链访问中的 PRT
在 macOS 设备上,双击“应用程序”文件夹,然后双击“实用工具”文件夹。
双击“钥匙串访问”应用程序。
在“默认密钥链”下,选择“本地项(或 iCloud)”。
- 确保选中“所有项”。
- 在搜索栏中的右侧,键入
primaryrefresh
(便于筛选)。
屏幕截图标注 密钥链凭据组件 说明 1 所有项目 显示密钥链访问中的所有凭据类型 2 密钥链搜索栏 允许按凭据进行筛选。 若要筛选 Microsoft Entra PRT 类型 primaryrefresh
3 种类 指凭据的类型。 Microsoft Entra PRT 凭据是“应用程序密码”凭据类型 4 帐户 显示拥有 PRT 的 Microsoft Entra 用户帐户,格式如下: UserObjectId.TenantId-login.windows.net
5 哪里 显示凭据的全名。 Microsoft Entra PRT 凭据以 primaryrefreshtoken-29d9ed98-a469-4536-ade2-f981bc1d605
格式开头。29d9ed98-a469-4536-ade2-f981bc1d605 是 Microsoft 身份验证代理服务的应用程序 ID,该服务负责处理 PRT 获取请求6 修改 显示上次更新凭据的时间。 对于 Microsoft Entra PRT 凭据,每当凭据由交互式登录事件启动或更新时,都会更新日期/时间戳 7 密钥链 指示所选凭据所在的密钥链。 Microsoft Entra PRT 凭据位于“本地项”或“iCloud”钥匙串中。 在 macOS 设备上启用 iCloud 后,“本地项”钥匙串将变为“iCloud”钥匙串 如果在密钥链访问中找不到 PRT,请根据应用程序类型执行以下操作:
- 原生 MSAL:检查应用程序开发人员(如果应用是使用 MSAL 1.1 或更高版本生成的)是否已启用可感知代理的应用程序。 此外,请查看 部署故障排除步骤 ,排除任何部署问题。
- 非 MSAL (Safari):检查以确保在 MDM 配置文件中将功能标志
browser_sso_interaction_enabled
设置为 1 而不是 0
启动 PRT 后的身份验证流
现已验证 PRT(共享凭据),在进行任何更深入的故障排除之前,了解每种应用程序类型的概要步骤以及它与 Microsoft 企业 SSO 扩展插件(代理应用)的交互方式很有帮助。 以下动画和说明应该有助于 macOS 管理员在查看任何日志记录数据之前了解相关场景。
原生 MSAL 应用程序
场景:开发的应用程序使用 MSAL(示例:Microsoft To Do 客户端)并在 Apple 设备上运行,它需要让用户使用其 Microsoft Entra 帐户登录,以便访问受 Microsoft Entra 保护的服务(示例:Microsoft To Do 服务)。
- 基于 MSAL 开发的应用程序直接调用 SSO 扩展,并将 PRT 以及该应用程序针对受 Microsoft Entra 保护的资源发出的令牌请求发送到 Microsoft Entra 令牌终结点
- Microsoft Entra ID 验证 PRT 凭据,并将特定于应用程序的令牌返回给 SSO 扩展代理
- 然后,SSO 扩展代理将令牌传递给 MSAL 客户端应用程序,后者再将其发送到受 Microsoft Entra 保护的资源
- 用户现已登录到应用,身份验证过程已完成
非 MSAL/浏览器 SSO
场景:Apple 设备上的一位用户打开 Safari Web 浏览器(或任何支持 Apple 网络堆栈的非 MSAL 原生应用),以登录到受 Microsoft Entra 保护的资源(示例:https://office.com
)。
- 该用户使用非 MSAL 应用程序(示例:Safari)尝试登录到 Microsoft Entra 集成应用程序(示例:office.com),并通过重定向从 Microsoft Entra ID 获取令牌
- 只要在 MDM 有效负载配置中将非 MSAL 应用程序列于允许列表,Apple 网络堆栈就会截获身份验证请求并将请求重定向到 SSO 扩展代理
- SSO 扩展收到截获的请求后,PRT 将发送到 Microsoft Entra 令牌终结点
- Microsoft Entra ID 验证 PRT,并将特定于应用程序的令牌返回给 SSO 扩展
- 将特定于应用程序的令牌提供给非 MSAL 客户端应用程序后,客户端应用程序发送该令牌以访问受 Microsoft Entra 保护的服务
- 用户现已完成登录,身份验证过程已完成
获取 SSO 扩展日志
在解决 SSO 扩展的各种问题时,最有用的工具之一是来自 Apple 设备的客户端日志。
保存来自公司门户应用的 SSO 扩展日志
在 macOS 设备中,双击“应用程序”文件夹。
双击“公司门户”应用程序。
公司门户加载时,导航到顶部菜单栏:“帮助”->“保存诊断报告”。 无需登录应用。
将公司门户日志存档保存到所选位置(例如:桌面)。
打开 CompanyPortal.zip 存档,并使用任何文本编辑器打开 SSOExtension.log 文件。
提示
查看日志的简便方法是使用 Visual Studio Code 并安装 日志查看器 扩展。
在 macOS 上使用终端跟踪 SSO 扩展日志
在故障排除期间,在实时跟踪 SSOExtension 日志时重现问题可能很有用:
在 macOS 设备上,双击“应用程序”文件夹,然后双击“实用工具”文件夹。
双击“终端”应用程序。
终端打开时,键入:
tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/*
注意
末尾的 /* 指示将跟踪多个日志(如果存在)
% tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/* ==> /Users/<username>/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/SSOExtension 2022-12-25--13-11-52-855.log <== 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Handling SSO request, requested operation: 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Ignoring this SSO request... 2022-12-29 14:49:59:282 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Finished SSO request. 2022-12-29 14:49:59:599 | I | Beginning authorization request 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_interaction_enabled, value in config 1, value type __NSCFNumber 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Feature flag browser_sso_interaction_enabled is enabled 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_disable_mfa, value in config (null), value type (null) 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag disable_browser_sso_intercept_all, value in config (null), value type (null) 2022-12-29 14:49:59:600 | I | Request does not need UI 2022-12-29 14:49:59:600 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag admin_debug_mode_enabled, value in config (null), value type (null)
重现问题时,使“终端”窗口保持打开状态,以观察跟踪的 SSOExtension 日志的输出。
在 iOS 上导出 SSO 扩展日志
无法实时查看 iOS SSO 扩展日志,因为它在 macOS 上。 可以从 Microsoft Authenticator 应用导出 iOS SSO 扩展日志,然后在另一台设备上查看这些日志:
打开 Microsoft Authenticator 应用:
按左上角的菜单按钮:
选择“发送反馈”选项:
选择“遇到问题”选项:
按下“查看诊断数据”选项:
提示
如果正在与 Microsoft 支持部门合作,则在此阶段,可按下“发送”按钮,将日志发送给支持部门。 这将为你提供事件 ID,你可将它提供给 Microsoft 支持部门联系人。
按下“全部复制”按钮,将日志复制到 iOS 设备的剪贴板中。 然后,可将日志文件保存到其他位置以供查看,或者通过电子邮件或其他文件共享方法发送它们:
了解 SSO 扩展日志
若要排查向 Microsoft Entra ID 发送身份验证请求的应用程序的身份验证流问题,分析 SSO 扩展日志一种绝佳的方法。 每当调用 SSO 扩展代理时,都将生成一系列日志记录活动,这些活动称为授权请求。 日志包含以下用于故障排除的有用信息:
- 功能标志配置
- 授权请求类型
- 原生 MSAL
- 非 MSAL/浏览器 SSO
- 与 macOS 密钥链交互,以便进行凭据检索/存储操作
- Microsoft Entra 登录事件的相关 ID
- PRT 获取
- 设备注册
警告
SSO 扩展日志非常详细,尤其是在查看密钥链凭据操作时。 因此,在故障排除期间查看日志之前,最好先了解相关情况。
日志结构
SSO 扩展日志分为多列。 以下屏幕截图显示了日志的列明细:
列 | 列名 | 说明 |
---|---|---|
1 | 本地日期/时间 | 显示的本地日期和时间 |
2 | I-信息 W-警告 E-错误 |
显示信息、警告或错误 |
3 | 线程 ID (TID) | 显示 SSO 扩展代理应用执行的线程 ID |
4 | MSAL 版本号 | Microsoft 企业 SSO 扩展代理插件以 MSAL 应用形式生成的。 此列表示代理应用正在运行的 MSAL 版本 |
5 | macOS 版本 | 显示 macOS 操作系统的版本 |
6 | UTC 日期/时间 | 显示的 UTC 日期和时间 |
7 | 相关 ID | 日志中与 Microsoft Entra ID 或密钥链操作相关的行使用相关 ID 扩展 UTC 日期/时间列 |
8 | 消息 | 显示日志的详细消息。 可以通过查看此列找到大多数故障排除信息 |
功能标志配置
在 Microsoft 企业 SSO 扩展的 MDM 配置期间,可以发送特定于扩展的可选数据,作为更改 SSO 扩展行为方式的说明。 这些特定于配置的说明称为功能标志。 功能标志配置对于非 MSAL/浏览器 SSO 授权请求类型尤其重要,因为捆绑 ID 可以确定是否要调用扩展。 请参阅 功能标志文档。 每个授权请求都以功能标志配置报告开头。 以下屏幕截图演示了一个示例功能标志配置:
标注 | 功能标志 | 说明 |
---|---|---|
1 | browser_sso_interaction_enabled | 非 MSAL 或 Safari 浏览器可以启动 PRT |
2 | browser_sso_disable_mfa | (现已弃用)在启动 PRT 凭据期间,默认情况下需要 MFA。 请注意,此配置设置为 null,这意味着将强制实施默认配置 |
3 | 禁用明确应用提示 | 替换来自应用程序的 prompt=login 身份验证请求,以减少提示 |
4 | 应用前缀允许列表 | SSO 扩展代理可以截获和处理捆绑 ID 以 com.microsoft. 开头的任何非 MSAL 应用程序 |
重要说明
功能标志设置为 null 意味着已实施其默认配置。 有关更多详细信息,请查看功能标志文档
MSAL 原生应用程序登录流
以下部分演示如何检查原生 MSAL 应用程序身份验证流的 SSO 扩展日志。 对于此示例,我们将 MSAL macOS/iOS 示例应用程序 用作客户端应用程序,应用程序正在调用 Microsoft Graph API 以显示登录用户的信息。
MSAL 原生:交互式流演练
若要成功进行交互式登录,应执行以下操作:
- 用户登录到 MSAL macOS 示例应用。
- 会调用 Microsoft SSO 扩展代理并处理请求。
- Microsoft SSO 扩展代理将进行启动来获取已登录用户的 PRT。
- 将 PRT 存储在密钥链中。
- 检查 Microsoft Entra ID (WPJ) 中是否存在设备注册对象。
- 将访问令牌返回到客户端应用程序,以访问范围为 User.Read 的 Microsoft Graph。
重要说明
后面的示例日志代码段已用注释标头 // 进行注释,这些注释标头在日志中是看不到的。 它们用于帮助说明正在执行的具体操作。 我们以这种方式记录了日志代码片段,以帮助执行复制和粘贴操作。 此外,日志示例已进行剪裁,仅显示对故障排除有意义的行。
用户单击“调用 Microsoft Graph API”按钮来调用登录过程。
//////////////////////////
//get_accounts_operation//
//////////////////////////
Handling SSO request, requested operation: get_accounts_operation
(Default accessor) Get accounts.
(MSIDAccountCredentialCache) retrieving cached credentials using credential query
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 00001111-aaaa-2222-bbbb-3333cccc4444, scopes (null)
(Default accessor) No accounts found in default accessor.
(Default accessor) No accounts found in other accessors.
Completed get accounts SSO request with a personal device mode.
Request complete
Request needs UI
ADB 3.1.40 -[ADBrokerAccountManager allBrokerAccounts:]
ADB 3.1.40 -[ADBrokerAccountManager allMSIDBrokerAccounts:]
(Default accessor) Get accounts.
No existing accounts found, showing webview
/////////
//login//
/////////
Handling SSO request, requested operation: login
Handling interactive SSO request...
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/common";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
prompt = "select_account";
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
}
////////////////////////////////////////////////////////////
//Request PRT from Microsoft Authentication Broker Service//
////////////////////////////////////////////////////////////
Using request handler <ADInteractiveDevicelessPRTBrokerRequestHandler: 0x117ea50b0>
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 11112222-bbbb-3333-cccc-4444dddd5555, scopes (null)
Attempting to get Deviceless Primary Refresh Token interactively.
Caching AAD Environements
networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
Resolved authority, validated: YES, error: 0
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Start webview authorization session with webview controller class MSIDAADOAuthEmbeddedWebviewController:
[MSAL] Presenting web view controller.
日志记录示例可以分为三个部分:
细分市场 | 说明 |
---|---|
get_accounts_operation |
检查缓存中是否存在任何现有帐户 - ClientID:在 Microsoft Entra ID 中为此 MSAL 应用注册的应用程序 ID ADB 3.1.40 指示该版本的 Microsoft 企业 SSO 扩展代理插件 |
login |
代理处理 Microsoft Entra ID 的请求: - 处理交互式 SSO 请求…:表示交互式请求 - correlation_id:便于与 Microsoft Entra 服务器端登录日志进行交叉引用 - scope:从 Microsoft Graph 请求的 User.Read API 权限范围 - client_version:应用程序运行的 MSAL 版本 - redirect_uri:MSAL 应用使用 msauth.com.<Bundle ID>://auth 格式 |
PRT 请求 | 以交互方式获取 PRT 的启动过程已经发起并会呈现 Web 视图 SSO 会话 Microsoft 身份验证代理服务 - clientId: 29d9ed98-a469-4536-ade2-f981bc1d605e - 所有 PRT 请求都向 Microsoft 身份验证代理服务发出 |
此时会显示 SSO Web 视图控制器,并提示用户输入其 Microsoft Entra 登录名(UPN/电子邮件)
注意
单击 Web 视图控制器左下角的 i 可显示有关 SSO 扩展的详细信息,以及已调用该扩展的应用的相关详细信息。
用户成功输入其Microsoft Entra 凭据后,以下日志条目将写入 SSO 扩展日志
SSOExtensionLogs
///////////////
//Acquire PRT//
///////////////
[MSAL] -completeWebAuthWithURL: msauth://microsoft.aad.brokerplugin/?code=(not-null)&client_info=(not-null)&state=(not-null)&session_state=(not-null)
[MSAL] Dismissed web view controller.
[MSAL] Result from authorization session callbackURL host: microsoft.aad.brokerplugin , has error: NO
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId 29d9ed98-a469-4536-ade2-f981bc1d605e, scopes (null)
Saving PRT response in cache since no other PRT was found
[MSAL] Saving keychain item, item info Masked(not-null)
[MSAL] Keychain find status: 0
Acquired PRT.
///////////////////////////////////////////////////////////////////////
//Discover if there is an Azure AD Device Registration (WPJ) present //
//and if so re-acquire a PRT and associate with Device ID //
///////////////////////////////////////////////////////////////////////
WPJ Discovery: do discovery in environment 0
Attempt WPJ discovery using tenantId.
WPJ discovery succeeded.
Using cloud authority from WPJ discovery: https://login.microsoftonline.com/common
ADBrokerDiscoveryAction completed. Continuing Broker Flow.
PRT needs upgrade as device registration state has changed. Device is joined 1, prt is joined 0
Beginning ADBrokerAcquirePRTInteractivelyAction
Attempting to get Primary Refresh Token interactively.
Acquiring broker tokens for broker client id.
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Enrollment id read from intune cache : (null).
Handle silent PRT response Masked(not-null), error Masked(null)
Acquired broker tokens.
Acquiring PRT.
Acquiring PRT using broker refresh token.
Requesting PRT from authority https://login.microsoftonline.com/<TenantID>/oauth2/v2.0/token
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId (null), scopes (null)
[MSAL] Acquired PRT successfully!
Acquired PRT.
ADBrokerAcquirePRTInteractivelyAction completed. Continuing Broker Flow.
Beginning ADBrokerAcquireTokenWithPRTAction
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Handle silent PRT response Masked(not-null), error Masked(null)
//////////////////////////////////////////////////////////////////////////
//Provide Access Token received from Azure AD back to Client Application//
//and complete authorization request //
//////////////////////////////////////////////////////////////////////////
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm TenantID, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed interactive SSO request.
Completed interactive SSO request.
Request complete
Completing SSO request...
Finished SSO request.
此时,在身份验证/授权流中,PRT 已启动,你应该可以在 macOS 密钥链访问中看到它。 请参阅检查密钥链访问中的 PRT。 MSAL macOS 示例应用程序使用从 Microsoft SSO 扩展代理收到的访问令牌来显示用户的信息。
接下来,使用从客户端 SSO 扩展日志中收集的关联 ID,检查服务器端的 Microsoft Entra 登录日志。 有关详细信息,请参阅 Microsoft Entra ID 中的登录日志。
按关联 ID 筛选器查看 Microsoft Entra 登录日志
- 打开在其中注册应用程序的租户的 Microsoft Entra 登录。
- 选择“用户登录(交互式)”。
- 选择“添加筛选器”,然后选择“相关 ID”单选按钮。
- 复制并粘贴从 SSO 扩展日志获取的相关 ID,然后选择“应用”。
对于 MSAL 交互式登录流,我们预计会看到资源 Microsoft 身份验证代理服务的交互式登录。 此事件是用户输入其密码来启动 PRT 的位置。
此外,还有非交互式登录事件,因为 PRT 用于获取客户端应用程序请求的访问令牌。 按照 相关 ID 筛选器查看Microsoft Entra 登录日志 ,但在步骤 2 中,选择 “用户登录”(非交互式登录)。
登录日志属性 | 说明 |
---|---|
应用 | 在其中进行身份验证的 Microsoft Entra 租户中应用程序注册的显示名称。 |
应用程序 ID | 也指 Microsoft Entra 租户中应用程序注册的 ClientID。 |
资源 | 客户端应用程序尝试获取其访问权限的 API 资源。 在此示例中,资源是 Microsoft Graph API。 |
传入令牌类型 | 主刷新令牌 (PRT) 的传入令牌类型显示用于获取资源访问令牌的输入令牌。 |
用户代理 | 此示例中的用户代理字符串表明 Microsoft SSO 扩展是处理此请求的应用程序。 这个有用的指示器指示正在使用 SSO 扩展,并且正在处理代理身份验证请求。 |
Microsoft Entra 应用身份验证库 | 使用 MSAL 应用程序时,将在此处写入库和平台的详细信息。 |
Oauth 范围信息 | 为访问令牌请求的 Oauth2 范围信息。 (User.Read、profile、openid、email)。 |
MSAL 原生:无提示流演练
一段时间后,访问令牌将不再有效。 因此,如果用户重新单击“调用 Microsoft Graph API”按钮, SSO 扩展会尝试使用已获取的 PRT 刷新访问令牌。
SSOExtensionLogs
/////////////////////////////////////////////////////////////////////////
//refresh operation: Assemble Request based on User information in PRT /
/////////////////////////////////////////////////////////////////////////
Beginning authorization request
Request does not need UI
Handling SSO request, requested operation: refresh
Handling silent SSO request...
Looking account up by home account ID dbb22b2f, displayable ID auth.placeholder-61945244__domainname.com
Account identifier used for request: Masked(not-null), auth.placeholder-61945244__domainname.com
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/<TenantID>";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"home_account_id" = "<UserObjectId>.<TenantID>";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
username = "auth.placeholder-61945244__domainname.com";
}
//////////////////////////////////////////
//Acquire Access Token with PRT silently//
//////////////////////////////////////////
Using request handler <ADSSOSilentBrokerRequestHandler: 0x127226a10>
Executing new request
Beginning ADBrokerAcquireTokenSilentAction
Beginning silent flow.
[MSAL] Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm <TenantID>, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
[MSAL] (MSIDAccountCredentialCache) retrieving cached credentials using credential query
[MSAL] Silent controller with PRT finished with error Masked(null)
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed silent SSO request.
Request complete
Completing SSO request...
Finished SSO request.
日志记录示例可以分为两个部分:
细分市场 | 说明 |
---|---|
refresh |
代理处理 Microsoft Entra ID 的请求: - 处理无提示 SSO 请求…:表示无提示请求 - correlation_id:便于与 Microsoft Entra 服务器端登录日志进行交叉引用 - scope:从 Microsoft Graph 请求的 User.Read API 权限范围 - client_version:应用程序运行的 MSAL 版本 - redirect_uri:MSAL 应用使用 msauth.com.<Bundle ID>://auth 格式刷新与请求有效负载存在显著差异: - authority:包含 Microsoft Entra 租户 URL 终结点,而不是常用终结点 - home_account_id:以 <UserObjectId>.<TenantID> 格式显示用户帐户 - username:经过哈希处理后的 UPN 格式 auth.placeholder-XXXXXXXX__domainname.com |
PRT 刷新并获取访问令牌 | 在将访问令牌返回给调用客户端应用程序之前,此操作会重新验证 PRT 并在必要时刷新它。 |
我们可以再次获取从客户端 SSO 扩展日志中获得的相关 ID,并与服务器端 Microsoft Entra 登录日志交叉引用。
Microsoft Entra 登录显示的信息与上一交互式登录部分中的登录操作所提供的 Microsoft Graph 资源信息相同。
非 MSAL/浏览器 SSO 应用程序登录流
以下部分演示如何检查非 MSAL/浏览器应用程序身份验证流的 SSO 扩展日志。 在此示例中,我们使用 Apple Safari 浏览器作为客户端应用程序,该应用程序正在调用 Office.com (OfficeHome) Web 应用程序。
非 MSAL/浏览器 SSO 流演练
若要成功登录,应执行以下操作:
- 假设已经历启动过程的用户已有 PRT。
- 在部署了 Microsoft SSO 扩展代理的设备上,会检查配置的功能标志,确保 SSO 扩展可以处理应用程序。
- 由于 Safari 浏览器遵循 Apple 网络堆栈,因此 SSO 扩展会尝试截获 Microsoft Entra 身份验证请求。
- PRT 用于获取所请求资源的令牌。
- 如果设备已注册到 Microsoft Entra,它会传递请求和设备 ID。
- SSO 扩展会填充浏览器请求的标头,以登录到资源。
以下客户端 SSO 扩展日志显示 SSO 扩展代理以透明方式处理请求,从而完成请求。
SSOExtensionLogs
Created Browser SSO request for bundle identifier com.apple.Safari, cookie SSO include-list (
), use cookie sso for this app 0, initiating origin https://www.office.com
Init MSIDKeychainTokenCache with keychainGroup: Masked(not-null)
[Browser SSO] Starting Browser SSO request for authority https://login.microsoftonline.com/common
[MSAL] (Default accessor) Found 1 tokens
[Browser SSO] Checking PRTs for deviceId 73796663
[MSAL] [Browser SSO] Executing without UI for authority https://login.microsoftonline.com/common, number of PRTs 1, device registered 1
[MSAL] [Browser SSO] Processing request with PRTs and correlation ID in headers (null), query aaaa0000-bb11-2222-33cc-444444dddddd
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] No cached preferred_network for authority
[MSAL] Caching AAD Environements
[MSAL] networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
[MSAL] networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
[MSAL] networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
[MSAL] networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
[MSAL] networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Found registration registered in login.microsoftonline.com, isSameAsRequestEnvironment: Yes
[MSAL] Passing device header in browser SSO for device id 43cfaf69-0f94-4d2e-a815-c103226c4c04
[MSAL] Adding SSO-cookie header with PRT Masked(not-null)
SSO extension cleared cookies before handling request 1
[Browser SSO] SSO response is successful 0
[MSAL] Keychain find status: 0
[MSAL] (Default accessor) Found 1 tokens
Request does not need UI
[MSAL] [Browser SSO] Checking PRTs for deviceId 73796663
Request complete
SSO 扩展日志组件 | 说明 |
---|---|
已创建浏览器 SSO 请求 | 所有非 MSAL/浏览器 SSO 请求都以以下行开头: - 捆绑标识符: 捆绑 ID: com.apple.Safari - 发起源:浏览器在访问某个 Microsoft Entra ID 的登录 URL 之前访问的 Web URL (https://office.com) |
为颁发机构启动浏览器 SSO 请求 | 解析 PCT 数,如果设备已注册: https://login.microsoftonline.com/common,PRT 数 1、注册设备数 1 |
相关 ID | [浏览器 SSO] 使用标头 (null) 中的 PRT 和相关 ID 处理请求,查询 <CorrelationID>。 此 ID 对于与 Microsoft Entra 服务器端登录日志进行交叉引用非常重要 |
设备注册 | (可选)如果设备已注册 Microsoft Entra,SSO 扩展可以在浏览器 SSO 请求中传递设备标头: - 找到注册,注册位置 - login.microsoftonline.com,isSameAsRequestEnvironment:Yes 在浏览器 SSO 中为设备 ID 43cfaf69-0f94-4d2e-a815-c103226c4c04 传递设备标头 |
接下来,使用从 Browser SSO 扩展日志获取的相关 ID 交叉引用 Microsoft Entra 登录日志。
登录日志属性 | 说明 |
---|---|
应用 | 在其中进行身份验证的 Microsoft Entra 租户中应用程序注册的显示名称。 在此示例中,显示名称为 OfficeHome。 |
应用程序 ID | 也指 Microsoft Entra 租户中应用程序注册的 ClientID。 |
资源 | 客户端应用程序尝试获取其访问权限的 API 资源。 在此示例中,资源是 OfficeHome Web 应用程序。 |
传入令牌类型 | 主刷新令牌 (PRT) 的传入令牌类型显示用于获取资源访问令牌的输入令牌。 |
检测到身份验证方法 | 在“身份验证详细信息”选项卡下,“Microsoft Entra SSO 插件”的值是有用的指示器,可指示正在使用 SSO 扩展辅助处理浏览器 SSO 请求 |
Microsoft Entra SSO 扩展版本 | 在“其他详细信息”选项卡下,此值显示 Microsoft 企业 SSO 扩展代理应用的版本。 |
设备 ID | 如果设备已注册,SSO 扩展可传递设备 ID 来处理设备身份验证请求。 |
操作系统 | 显示操作系统的类型。 |
合规的 | SSO 扩展可以通过传递设备标头来帮助满足合规性策略。 要求如下: - Microsoft Entra 设备注册 - MDM 管理 - Intune 或 Intune 合作伙伴合规性 |
管理 | 指示设备受到管理。 |
联接类型 | macOS 和 iOS(如果已注册)只能属于“已注册到 Microsoft Entra”类型。 |
提示
如果使用 Jamf Connect,建议遵循 最新的 Jamf 指南,将 Jamf Connect 与 Microsoft Entra ID 集成。 建议的集成模式可确保 Jamf Connect 与条件访问策略和 Microsoft Entra ID 标识保护正常配合使用。