PingFederate Server

Building and deploying manually

Use a build utility to add directories, create deployment descriptors, and create a .jarfile to build and deploy your plugins with PingFederate.

Before you begin

To compile your project, you must have the following directories on your classpath:

  • <pf_install>/pingfederate/server/default/lib

  • <pf_install>/pingfederate/lib

  • <pf_install>/pingfederate/sdk/lib

  • <pf_install>/pingfederate/sdk/plugin-src/<subproject-name>/lib

About this task

To build your project with another build utility, you must create the deployment descriptors for each of your plugins. The deployment descriptor files allow PingFederate to discover your plugins. Once this is complete, use the build tool to create a .jar file and deploy it within the appropriate directory.

Steps

  1. Add a new directory called PF-INF into your project. This directory must be at the root of your .jar file, similar to META-INF.

  2. In PF-INF, add an appropriate text file for each type of plugin you created:

    Plugin type File name

    IdP Adapter

    idp-authn-adapters

    SP Adapter

    sp-authn-adapters

    Custom Data Source

    custom-drivers

    Token Processor

    token-processors

    Token Generator

    token-generators

    Authentication Selector

    authentication-selectors

    Password Credential Validator

    password-credential-validators

    Identity Store Provisioner

    identity-store-provisioners

    CIBA Authenticator

    oob-auth-plugins

    Notification Publisher

    notification-sender

  3. In each text file added, specify the fully-qualified class name of each plugin that implements the corresponding plugin interface. Place each class name on a separate line.

  4. To create a .jar, archive the compiled class files along with the deployment descriptors using your build tool. The deployment descriptors must be in the PF-INF directory, located at the root of the .jar file.

  5. To deploy your plugin, copy the .jar file and any third-party .jar files into the <pf_install>/pingfederate/server/default/deploy directory of the PingFederate installation.