如何通过Azure AD实现PC及本机应用的SSO统一身份认证
方案适配性结论
你判断的没错,这个场景完全属于Azure AD SSO的标准覆盖范围,不存在方案适配问题。核心依托Windows系统和Azure AD打通的系统级认证机制实现,开机登录的认证结果可以直接复用到所有兼容应用,完全支持多用户共用设备的使用要求。
核心实现原理
整个能力的核心是Azure AD下发的主刷新令牌(Primary Refresh Token, PRT):当用户用个人Azure AD账号完成Windows开机登录时,系统会和Azure AD完成认证交互,自动获取对应当前用户的PRT,由Windows系统的身份认证组件统一托管。所有支持微软身份认证框架的应用,不管是本地桌面应用还是Web应用,都可以直接向系统申请调用这个PRT换取对应应用的访问令牌,全程不需要用户手动输入账号密码。
PRT和当前登录的Windows用户强绑定,用户切换账号、注销登录时,系统会自动隔离/清除对应用户的PRT,不会出现多用户令牌混用的问题。
具体落地步骤
设备基础配置
- 先把共用PC的系统升级到Windows 10 20H2或Windows 11及以上版本,低版本Windows存在多用户切换时PRT残留、WAM调用失败的已知bug,不建议使用。
- 根据租户环境选择设备注册方式:纯云租户直接将设备加入Azure AD(Azure AD Join);如果本地有传统AD域环境,配置混合Azure AD加入(Hybrid Azure AD Join)即可。注册完成后Windows登录页会默认显示Azure AD账号登录入口。
- 在Azure AD管理中心将这台设备的属性标记为「共享设备」,开启共享设备模式后,用户注销账号时系统会自动清理该用户的所有认证令牌、应用缓存,避免数据泄露。
- 本地组策略开启快速用户切换,方便不同用户不用重启系统就能快速切换自己的账号登录。
本地桌面应用适配
- 所有新开发、或者已经改造为使用微软身份验证库(MSAL)、集成Windows身份验证管理器(WAM)的桌面应用,不需要额外配置,安装后启动时会自动读取当前用户的PRT完成静默鉴权,不会弹出登录窗口。
- 针对旧版不支持WAM的传统Win32应用,可以通过配置Azure AD应用代理、部署Azure AD SSO登录扩展的方式,给应用加一层静默令牌申请逻辑,同样可以实现免登效果。
Web应用适配
- 系统自带的Microsoft Edge默认已经集成WAM认证能力,访问所有对接了Azure AD认证的Web业务系统、SaaS应用时,会自动携带当前用户的PRT完成鉴权,直接进入应用。
- 如果使用Chrome浏览器,安装微软官方的Windows Accounts扩展后,就能获得和Edge一致的SSO效果,不需要额外配置。
认证策略配置
在Azure AD条件访问里给这台共享设备单独配置策略:所有MFA、合规校验要求只在用户开机登录系统时触发一次,后续应用访问复用开机阶段的认证结果即可,不要给应用层单独加重复的认证要求。
配置有效性验证
配置完成后可以用两个方法确认效果:
- 用个人账号登录系统后,打开命令行执行
dsregcmd /status,在输出结果的SSO State板块下,确认AzureAdPrt字段值为YES,说明PRT已经正常下发并托管。 - 依次打开本地桌面应用、浏览器访问对接了Azure AD的Web应用,全程不弹出账号密码输入框、直接进入应用界面,就说明SSO链路已经打通。
内容的提问来源于stack exchange,提问作者AskMe
相关产品推荐
相关产品推荐

