我正在 ADFSv3 上执行授权代码授权流程。
当我执行 AcquireToken 时,会启动通常的 html Web 浏览器身份验证提示,但由于某种原因,它会重定向到/adfs/oauth2/authorize/wia?
显示 Windows 集成登录框的以下端点。
问题:
这是 ADFS 在这里提供的某种 ntml/sso 吗?
是否可以摆脱最初的 html 网络浏览器,而直接显示 windows 登录框,它看起来有点像带有 2 个身份验证提示(1 个禁用,1 个启用)的人格分裂。
执行 AcquireToken 流的客户端计算机是否已加入域?很可能不是。看起来它正在尝试 Windows 集成身份验证(Kerberos)并回退到 NTLM(您看到的 Windows 凭据收集对话框)。
您可以使用 ADFS 全局身份验证策略(即 Set/Get-AdfsGlobalAuthenticationPolicy PowerShell cmdlet)或通过 MMC 管理单元中的身份验证策略节点配置 ADFS 提供的身份验证方法。确保您在全局身份验证策略中为 Intranet 和 Extranet 位置启用了“表单身份验证”,以便使用基于 Web 的凭据收集体验。如果愿意,您还可以选择在全局身份验证策略中关闭 Windows 集成身份验证。
如果为 Intranet 位置启用了表单身份验证和 WIA,如果客户端的用户代理/浏览器支持 WIA,ADFS 将更喜欢使用 WIA。您可以通过 Get-AdfsProperties cmdlet 查看支持 WIA 的用户代理列表(查找 WIACapableUserAgents 设置)。通常像 IE 之类的浏览器都支持 WIA。对于不在此列表中的用户代理,ADFS 将自动回退到使用表单身份验证。