在 ADFS 4.0 中为 OpenID Connect 客户端启用访问策略

Enabling access policy in ADFS 4.0 for OpenID Connect clients

AD FS 支持用于对用户进行身份验证的 OpenID Connect 协议。 AD FS 支持 WebAPI 应用程序的访问策略,但不支持服务器应用程序,至少我找不到。

是否可以为服务器应用程序定义访问策略?业务场景非常简单:仅允许定义组中的用户在给定特定客户端 ID 的情况下进行身份验证。

如果企业使用 AD DS 部署 AD FS 并部署多个应用程序(每个应用程序单独注册,从而获得唯一的客户端 ID 和客户端密码),这可用于 allow/disallow 用户从身份验证到给定(注册)客户端(依赖方)的 ADFS。

这似乎可以通过在同一应用程序组中定义两个应用程序来实现:

  1. 服务器应用程序,除了 client id
  2. 之外还有一个 client secret
  3. WebAPI 应用程序,您可以为其定义访问策略。

为了使这项工作正常,您需要将依赖方标识符(服务器应用程序的 client id)分配给 WebAPI 标识符,并确保 WebAPI 应用程序的 "Client permissions" 包含服务器应用程序。

如果访问策略未成功评估,依赖方(请求身份验证的应用程序)将收到 access_denied 消息。

应用组:

服务器应用程序:

WebAPI 应用程序: