Security Connectors

Security Connectors are a collection of Jakarta EE Security adapters that implements industry-standard security protocols, specifications and integrates with third-party security artifacts & components.

The available connectors on Maven central are:

OpenId Connect Client

Implements OpenId Connect standard protocol by implementing Jakarta EE Security HTTP Authentication Mechanism and Identity Store for authentication & authorization using @OpenIdAuthenticationDefinition annotation and also provides access to the user’s profile info, Identity token, Access token, & Refresh token using CDI-based injection.

OAuth 2.0 Client:

Implements OAuth 2.0 standard protocol by implementing Jakarta EE Security HTTP Authentication Mechanism and Identity Store for authorization using @OAuth2AuthenticationDefinition annotation and provides access to the Identity token and Access token using CDI-based injection.

Standalone Variants of Connectors

Standalone connectors provide the same functionality as standard connectors. But while the standard connectors are built to be integrated with Payara Platform runtimes (e.g. Payara Server), the standalone connectors are built to be safely included in the applications deployed to a Payara Platform runtime without any conflicts with the connectors in the runtime. This is done by shading the classes in the connector and all its dependencies so that is in a different package name.

Adding a Standalone Connector

A standalone connector can be added to your application as a JAR library (or as a compile-time dependency in a WAR Maven project). To use it, follow the documentation of the standard connectors but use the fish.payara.security.connectors package instead of the fish.payara.security to import the classes.

OpenID Connect standalone connector has a standalone variant. For more information, click here.
If you’d like to use a newer version of a connector on one of the Payara Platform runtimes which already contains an older version of the container, you need to either add a standard container into your application and disable classloading delegation (Disabling Classloading delegation) or add a standalone variant of the container in your application.