Skip to main content

Eclipse Epicyro

Eclipse Epicyro is a Java-based implementation of the Jakarta Authentication (JASPIC) 3.0 specification for use in Jakarta EE runtimes (identity and access).

  • Implements the Jakarta Authentication (JASPIC) 3.0 specification for Java-based security providers (identity and access).
  • Provides a pluggable authentication service provider interface for Jakarta EE applications (application security).
  • Aligns with the Eclipse Project for Jakarta EE and the Eclipse Foundation governance model (open-source governance).
  • Targets integration with Jakarta EE compatible application servers and containers (enterprise middleware).
  • Delivers a reference implementation and TCK support for Jakarta Authentication within the ee4j ecosystem (conformance and testing).

More About Eclipse Epicyro

Eclipse Epicyro is a project under the Eclipse EE4J umbrella that provides an implementation of the Jakarta Authentication (JASPIC) 3.0 specification (identity and access). Jakarta Authentication defines a standard way to plug authentication mechanisms into Jakarta EE containers, enabling containers to delegate authentication and related security decisions to pluggable authentication modules that conform to the specification. Epicyro focuses on delivering this functionality in a form that can be embedded or integrated with Jakarta EE application servers and runtimes.

The project implements the Jakarta Authentication APIs and service provider interfaces (application security), enabling authentication modules to be developed and integrated using standardized contracts. These modules can participate in request processing within a Jakarta EE container, interacting with Hypertext Transfer Protocol (HTTP) or other protocols as supported by the hosting environment. By adhering to the Jakarta Authentication specification, Epicyro allows containers and security providers to interoperate based on a common interface for authentication callbacks, message processing, and security context handling.

Within enterprise environments, Eclipse Epicyro is relevant wherever Jakarta EE platforms are used and Jakarta Authentication is required (enterprise middleware). Application servers that aim to be compatible with Jakarta EE can use Epicyro as the basis for their JASPIC support, ensuring that authentication modules behave in a manner consistent with the specification. This is applicable in scenarios where organizations need to integrate custom or third-party authentication mechanisms with standardized Jakarta EE security infrastructure, such as Single Sign-On (SSO), custom credential validation, or integration with external identity systems, provided these mechanisms are implemented as Jakarta Authentication modules.

Eclipse Epicyro is developed under the Eclipse Foundation processes and licensing model (open-source governance). The project resides in the eclipse-ee4j organization, aligning it with other Jakarta EE reference implementations and related libraries. Its scope includes providing not only the runtime implementation of Jakarta Authentication but also support artifacts associated with Jakarta Authentication Technology Compatibility Kit (TCK) usage where applicable (conformance and testing). This makes Epicyro part of the ecosystem that enables Jakarta Authentication-compliant products to validate their behavior against the specification.

From a directory and categorization perspective, Eclipse Epicyro fits primarily into the identity and access management and application security categories. It operates at the container and framework layer rather than at the application business logic layer. Its role is to supply the standardized Stateful Packet Inspection (SPI) and runtime behavior that application servers, containers, and security modules use to negotiate authentication workflows in Jakarta EE deployments. Because it adheres to the Jakarta Authentication 3.0 specification and is hosted under Eclipse EE4J, it is positioned as a reference-aligned implementation within the broader Jakarta EE technology stack.