具有多个声明提供者信任的 ADFS 上的 OAuth2

具有多个声明提供者信任的 ADFS 上的 OAuth2

ADFS 3.0 引入了 OAuth2 授权代码流程。我们有一个现有的 ADFS 服务器,其中包含现有的依赖方、外部声明提供商和声明规则。新的 OAuth 流程通过要求在向 ADFS OAuth 授权端点发出的请求中将依赖方 ID 作为“资源”参数提供,从而链接到所有这些。

当我到达该端点时,ADFS 会向我显示主领域选择页面,其中包含我配置的每个声明提供程序的选项。

通过 Saml 和 WS-Fed 流程,可以在对 ADFS 的请求中指定“主领域”,从而绕过此屏幕。

使用 OAuth2 流程可以实现这一点吗?

如果是,据我所知,它没有记录在案,所以我假设答案是否定的。那么如果做不到这一点,如果我不想向用户提供声明提供者列表,有什么解决方法吗?

答案1

在这里回答:https://social.technet.microsoft.com/Forums/en-US/c3703674-6cd8-461f-9f67-ecfaa69c6817/oauth2-on-adfs-with-multiple-claims-provider-trusts?forum=ADFS

您可以使用以下方法绕过 HRD:
Set-AdfsRelyingPartyTrust -TargetName claimapp -ClaimsProviderName @("Active Directory")
在这种情况下,我们假设用户始终来自 AD。但选择其他 CP 是您的选择。

答案2

我用这个来做这个技巧: https://blog.kloud.com.au/2018/06/14/auto-redirect-adfs-4-0-home-realm-discovery-based-on-client-ip/

我没有使用 IP,而是读取了 referrer_origin 或者其他任何可以注入查询字符串的参数,它起作用了!!!

相关内容