在 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。
这似乎可以通过在同一应用程序组中定义两个应用程序来实现:
- 服务器应用程序,除了
client id
之外还有一个 client secret
- WebAPI 应用程序,您可以为其定义访问策略。
为了使这项工作正常,您需要将依赖方标识符(服务器应用程序的 client id
)分配给 WebAPI 标识符,并确保 WebAPI 应用程序的 "Client permissions" 包含服务器应用程序。
如果访问策略未成功评估,依赖方(请求身份验证的应用程序)将收到 access_denied
消息。
应用组:
服务器应用程序:
WebAPI 应用程序:
AD FS 支持用于对用户进行身份验证的 OpenID Connect 协议。 AD FS 支持 WebAPI 应用程序的访问策略,但不支持服务器应用程序,至少我找不到。
是否可以为服务器应用程序定义访问策略?业务场景非常简单:仅允许定义组中的用户在给定特定客户端 ID 的情况下进行身份验证。
如果企业使用 AD DS 部署 AD FS 并部署多个应用程序(每个应用程序单独注册,从而获得唯一的客户端 ID 和客户端密码),这可用于 allow/disallow 用户从身份验证到给定(注册)客户端(依赖方)的 ADFS。
这似乎可以通过在同一应用程序组中定义两个应用程序来实现:
- 服务器应用程序,除了
client id
之外还有一个 - WebAPI 应用程序,您可以为其定义访问策略。
client secret
为了使这项工作正常,您需要将依赖方标识符(服务器应用程序的 client id
)分配给 WebAPI 标识符,并确保 WebAPI 应用程序的 "Client permissions" 包含服务器应用程序。
如果访问策略未成功评估,依赖方(请求身份验证的应用程序)将收到 access_denied
消息。
应用组:
服务器应用程序:
WebAPI 应用程序: