Any plugin that requires configuration screens in the PingFederate administrative console
is considered a describable plugin. Most plugins implement the
DescribablePlugin
interface to ensure that PingFederate renders the
correct UI components based on the returned PluginDescriptor
.
Adapter and custom data source plugins are a special case and do not implement the
DescribablePlugin
interface. However, they still return a plugin
descriptor (AuthnAdapterDescriptor
and SourceDescriptor
respectively) and are still considered describable plugins.
All describable plugins must define a UI descriptor. Use one of the following methods to implement a UI descriptor, depending on the type of plugin:
- For
DescribablePlugin
:PluginDescriptor getPluginDescriptor()
- For adapter plugins:
AuthnAdapterDescriptor getAdapterDescriptor()
- For custom data source plugins:
SourceDescriptor getSourceDescriptor()
In many cases, describable plugins return a subclass of PluginDescriptor
,
so the return type of the plugin descriptor getters might be slightly different among
plugin implementations. Your plugin implementation populates
PluginDescriptor
with FieldDescriptors
,
FieldValidators
, and Actions
and is presented as a set
of UI components in the PingFederate administrative console.
Some plugin types offer concrete descriptor implementations for developers. The Javadocs
and examples provided with the SDK show which descriptor classes are available for each
plugin type. The examples also show you how to use FieldDescriptors
,
FieldValidators
, and Actions
directly to define
your plugin descriptor.