要使 PingFederate 使用 vCenter Server 进行身份验证,请设置密码授权流。
前提条件
完成以下任务:
使用管理员帐户登录到 PingFederate 管理控制台。
过程
- 创建密码凭据验证器。
- 转到系统 > 数据和平均存储 > 密码凭据验证器。
- 单击创建新实例。
- 在密码凭据验证器 | 创建新实例页面中,为每个选项卡输入如下信息,然后单击下一步以继续操作。
- 在类型选项卡上:
- 实例名称:输入实例名称。例如,vIDB Validator。
- 实例 ID:输入实例 ID。例如,vIDB。
- 类型:选择 LDAP 用户名密码凭据验证器。
- 在实例配置选项卡上:
- LDAP 数据存储:选择正在使用的数据存储。
- 搜索基本:输入基本 DN 以查找您的用户和组。
- 搜索筛选器:输入筛选器。例如,userPrincipalName=${username}。
- 搜索范围:选择子树。
- 在扩展合同选项卡上:
- 默认情况下,添加以下内容:
- DN
- 电子邮件
- givenName
- username
- 默认情况下,添加以下内容:
- 在类型选项卡上:
- 单击下一步,然后单击保存。
- 在授权服务器设置中映射验证器。
- 转到系统 > OAuth 设置 > 授权服务器设置。
- 在密码凭据验证器中,选择之前创建的凭据验证器。例如,本文档使用 vIDB Validator。
- 单击保存。
- 创建资源所有者凭据授权映射。
- 转到身份验证 > Oauth > 资源所有者凭据映射。
- 在资源所有者凭据映射窗口中:
- 源密码验证器实例:选择之前创建的实例,然后单击添加映射。
- 在资源所有者凭据授权映射 | 资源所有者凭据映射页面上,单击下一步以跳过属性源和用户查找选项卡。
- 在合同履行选项卡上:
- 对于 USER_KEY,选择密码凭据验证器,对于值,选择 username。
- 单击下一步,以跳过保险条件选项卡,然后单击保存。
- 创建访问令牌映射 - 将密码凭据验证器映射到访问令牌管理器。
“密码授权”工作流需要此映射。如果映射不存在,PingFederate 会记录以下错误:
没有可用于选定客户端和身份验证上下文的访问令牌管理器。
- 转到应用程序 > 访问令牌映射。
- 上下文:选择之前创建的上下文。例如,本文档使用 vIDB Validator。
- 访问令牌管理器:选择之前创建的令牌管理器。例如,本文档使用 vIDB Access Token Manager。
- 单击添加映射。
- 单击下一步以跳过属性源和用户查找选项卡。
- 在合同履行选项卡上,使用下表。
合同 源 值 aud 上下文 之前创建的客户端 ID。例如,本文档中使用的 ID 为 vIDB。 exp 无映射 - iat 表达式 输入以下内容: @org.jose4j.jwt.NumericDate@now().getValue()
iss 表达式 (如果不可见,请参见 PingFederate 文档,网址为 https://docs.pingidentity.com/r/en-us/pingfederate-120/pf_enable_disable_express。)
输入以下内容: #tmp=#this.get("context.HttpRequest").getObjectValue().getRequestURL().toString(), #url=new java.net.URL(#tmp), #protocol=#url.getProtocol(), #host=#url.getHost(),#port=#url.getPort(), #result=(#port != -1) ? @java.lang.String@format("%s://%s:%d", #protocol, #host, #port) : @java.lang.String@format("%s://%s", #protocol, #host, #port)
userName 无映射 -
此合同稍后在 LDAP 筛选器中用于“授权代码的 OIDC 策略”工作流。对于 PingFederate 工作流,不需要该合同。
- 单击下一步,以跳过保险条件选项卡,然后单击保存。
- 转到应用程序 > 访问令牌映射。
下一步做什么
继续创建授权代码流配置。