This proposal has been approved and the Eclipse Epicyro project has been created.
Visit the project page for the latest information and development.

Eclipse Epicyro

Monday, July 17, 2023 - 13:23 by Arjan Tijms
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Project
Parent Project
Proposal State
Created
Background

Many Jakarta specifications have a standalone implementation, but not all. Jakarta Authentication is a spec that does not have a standalone implementation. Instead an implementation is embedded within GlassFish, which is for the advancement and maintenance of the spec suboptimal. As project lead of Jakarta Authentication and as a GlassFish committer I've created an initial standalone project based on the GlassFish embedded code, which can be used to seed the new project with.

As that code comes from the GlassFish project, which is already at Eclipse, this is largely a restructuring review. We will split the implementation out from the existing GlassFish project into its own separate repository. Specifically, the directory containing the implementation code for the default authentication code and modules (https://github.com/eclipse-ee4j/glassfish/tree/master/appserver/security/jaspic-provider-framework among others) will be split from the GlassFish project into this separate repository.

Scope

Eclipse Epicyro provides an implementation of the Jakarta Authentication specification.

Description

Eclipse Epicyro implements Jakarta Authentication, a technology that defines a low-level SPI for authentication mechanisms, which are controllers that interact with a caller and a container’s environment to obtain the caller’s credentials, validate these, and pass an authenticated identity (such as name and groups) to the container.

Eclipse Epicyro provides default implementations of these authentication mechanisms and algorithms, as defined and mandated by the Jakarta Authentication specification.

Why Here?

Eclipse EE4J is the home of GlassFish. The restructured code should remain in the same community and same project, just in a separate repository.

Future Work

The functionality to add will follow the requirements of the Jakarta Authentication specification, which on its turn will largely follow the requirements and direction set by the Jakarta platform specification and the Jakarta Security specification.

Community growth around the project is thought to be faciliatated by the fact that the standalone implementation will also work on servlet containers like Eclipse Jetty and Piranha Cloud. The project will not intend to provide features not covered by the Jakarta Authentication specification, but instead will make sure that it integrates well with servers like GlassFish and Jetty.

Project Scheduling

The initial contribution will be made immidiately after the project has been approved. The first build will be expected in a few weeks, after which the intention is to remove the code that was moved to this project from GlassFish, and add a dependency from GlassFish to this project.

Initial Contribution

The project's existing code will come from https://github.com/OmniFish-EE/eleos This repositry on its turn has been created from a combination of my own code and the above mentioned code from the GlassFish project. 

Source Repository Type