要使 PingFederate 使用 vCenter Server 进行身份验证,请设置密码授权流。

前提条件

使用管理员帐户登录到 PingFederate 管理控制台。

过程

  1. 创建密码凭据验证器。
    1. 转到系统 > 数据和平均存储 > 密码凭据验证器
    2. 单击创建新实例
    3. 密码凭据验证器 | 创建新实例页面中,为每个选项卡输入如下信息,然后单击下一步以继续操作。
      • 类型选项卡上:
        • 实例名称:输入实例名称。例如,vIDB Validator。
        • 实例 ID:输入实例 ID。例如,vIDB。
        • 类型:选择 LDAP 用户名密码凭据验证器
      • 实例配置选项卡上:
        • LDAP 数据存储:选择正在使用的数据存储。
        • 搜索基本:输入基本 DN 以查找您的用户和组。
        • 搜索筛选器:输入筛选器。例如,userPrincipalName=${username}
        • 搜索范围:选择子树
      • 扩展合同选项卡上:
        • 默认情况下,添加以下内容:
          • DN
          • 电子邮件
          • givenName
          • username
    4. 单击下一步,然后单击保存
  2. 在授权服务器设置中映射验证器。
    1. 转到系统 > OAuth 设置 > 授权服务器设置
    2. 密码凭据验证器中,选择之前创建的凭据验证器。例如,本文档使用 vIDB Validator。
    3. 单击保存
  3. 创建资源所有者凭据授权映射。
    1. 转到身份验证 > Oauth > 资源所有者凭据映射
    2. 资源所有者凭据映射窗口中:
      • 源密码验证器实例:选择之前创建的实例,然后单击添加映射
    3. 资源所有者凭据授权映射 | 资源所有者凭据映射页面上,单击下一步以跳过属性源和用户查找选项卡。
    4. 合同履行选项卡上:
      • 对于 USER_KEY,选择密码凭据验证器,对于,选择 username
    5. 单击下一步,以跳过保险条件选项卡,然后单击保存
  4. 创建访问令牌映射 - 将密码凭据验证器映射到访问令牌管理器。
    “密码授权”工作流需要此映射。如果映射不存在,PingFederate 会记录以下错误:

    没有可用于选定客户端和身份验证上下文的访问令牌管理器。

    1. 转到应用程序 > 访问令牌映射
      • 上下文:选择之前创建的上下文。例如,本文档使用 vIDB Validator。
      • 访问令牌管理器:选择之前创建的令牌管理器。例如,本文档使用 vIDB Access Token Manager。
    2. 单击添加映射
    3. 单击下一步以跳过属性源和用户查找选项卡。
    4. 合同履行选项卡上,使用下表。
      合同
      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 工作流,不需要该合同。

    5. 单击下一步,以跳过保险条件选项卡,然后单击保存

下一步做什么

继续创建授权代码流配置