Building and deploying manually
Use a build utility to add directories, create deployment descriptors, and create a .jar
file 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
-
Add a new directory called
PF-INF
into your project. This directory must be at the root of your.jar
file, similar toMETA-INF
. -
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
-
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.
-
To create a
.jar
, archive the compiled class files along with the deployment descriptors using your build tool. The deployment descriptors must be in thePF-INF
directory, located at the root of the.jar
file. -
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.