Extensions are integrations in the HYPR Control Center which facilitate the operation of external systems at predetermined points in the Registration and Authentication lifecycle.
Example: Once the user is successfully registered we might want to update the user record in an external system. In this situation we can write an extension which receives a registration callback and calls out to the external system.
An extension is not an external process. It is a Java jar which runs in process with the Control Center and is managed via the Control Center UI. This eliminates the need to manage separate processes.
Each extension is uniquely identified by a ExtensionId. Extensions are managed at a global level which are available to all Relying Party Applications. Once an extension is deployed, it may be associated with one or more RP Applications via the Control Center web UI.
An extension is a container for one or more Extension Points. An Extension Point is
- where we specify the logic we want to execute
- contains a series of callbacks which are invoked by the Control Center
- contains configuration callback which is invoked by the Control Center
Upon execution, an extension method can
- Execute desired logic or calls to external systems
- Return a response indicating success or failure
- Throw an exception, which is considered an execution failure
Extension vs Extension Point
- Extension is the top level container
- Extension Point contains the business logic
- Extension contains one or more Extension Point(s)
Updated about a year ago