Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jakarta Security 3.0 #462

Merged
merged 5 commits into from Jun 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
40 changes: 13 additions & 27 deletions security/3.0/_index.md
@@ -1,36 +1,22 @@
---
title: "Jakarta Security 3.0 (under development)"
date: 2021-04-15
summary: "Release for Jakarta EE 10"
title: "Jakarta Security 3.0"
date: 2022-03-28
summary: "Release for Jakarta EE 9"
---
Jakarta Security defines a standard for creating secure Jakarta EE applications in modern application paradigms.

The goal of this release is to continue adding features and evolving the API. A number of those had been discussed and even had prototype implementations during the development of the previous version, but didn't make it in.

More specifically:

Additional authentication mechanisms:
* Client-cert and Digest [SECURITY #120](https://github.com/eclipse-ee4j/security-api/issues/120)
* OpenID Connect [SECURITY #183](https://github.com/eclipse-ee4j/security-api/issues/183)
* OAuth2

Extended authentication mechanisms:
* Authentication mechanism per URL [SECURIY #86](https://github.com/eclipse-ee4j/security-api/issues/86)
* User choice of authentication mechanism (login with provider X, login with provider Y, etc)
* Multiple authentication mechanisms (try JWT, fallback to BASIC, etc)


CDI:
* @RolesAllowed alternative
* Easily adding an interceptor to a build-in CDI bean [blog](https://arjan-tijms.omnifaces.org/2017/08/dynamically-adding-interceptor-to-build.html)


Features
* Authorization modules [blog](https://arjan-tijms.omnifaces.org/2016/07/simplified-custom-authorization-rules.html)
* [Jakarta Security 3.0 Release Record](https://projects.eclipse.org/projects/ee4j.es/releases/3.0)
* [Jakarta EE Platform 10 Release Plan](https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee10/JakartaEE10ReleasePlan)
* [Jakarta Security 3.0 Specification Document](./jakarta-security-spec-3.0.pdf) (PDF)
* [Jakarta Security 3.0 Specification Document](./jakarta-security-spec-3.0.html) (HTML)
* [Jakarta Security 3.0 Javadoc](./apidocs)
* [Jakarta Security 3.0 TCK](https://download.eclipse.org/jakartaee/security/3.0/jakarta-security-tck-3.0.0.zip) ([sig](https://download.eclipse.org/jakartaee/security/3.0/jakarta-security-tck-3.0.0.zip.sig), [sha](https://download.eclipse.org/jakartaee/security/3.0/jakarta-security-tck-3.0.0.zip.sha256), [pub](https://raw.githubusercontent.com/jakartaee/specification-committee/master/jakartaee-spec-committee.pub))
* Maven coordinates
* [jakarta.security.enterprise:jakarta.security.enterprise-api:jar:3.0.0](https://search.maven.org/artifact/jakarta.security.enterprise/jakarta.security.enterprise-api/3.0.0/jar)

The JDK version required will be aligned with Jakarta EE 10.
# Compatible Implementations

* [Jakarta Security 3.0 Release Record](https://projects.eclipse.org/projects/ee4j.es/releases/3.0)
* [Eclipse Soteria 3.0.0-RC1](https://eclipse-ee4j.github.io/soteria)

# Ballots

Expand Down
327 changes: 327 additions & 0 deletions security/3.0/apidocs/allclasses-index.html

Large diffs are not rendered by default.

88 changes: 88 additions & 0 deletions security/3.0/apidocs/allpackages-index.html
@@ -0,0 +1,88 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) on Fri Apr 29 23:21:24 CEST 2022 -->
<title>All Packages (Jakarta Security API documentation)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-04-29">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-packages-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><br>Jakarta Security API v3.0.0</div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="jakarta.security/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-packages">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="caption"><span>Package Summary</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="jakarta.security/jakarta/security/enterprise/package-summary.html">jakarta.security.enterprise</a></div>
<div class="col-last even-row-color">
<div class="block">The main Jakarta Security package.</div>
</div>
<div class="col-first odd-row-color"><a href="jakarta.security/jakarta/security/enterprise/authentication/mechanism/http/package-summary.html">jakarta.security.enterprise.authentication.mechanism.http</a></div>
<div class="col-last odd-row-color">
<div class="block">The HTTP authentication mechanism API package.</div>
</div>
<div class="col-first even-row-color"><a href="jakarta.security/jakarta/security/enterprise/authentication/mechanism/http/openid/package-summary.html">jakarta.security.enterprise.authentication.mechanism.http.openid</a></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><a href="jakarta.security/jakarta/security/enterprise/credential/package-summary.html">jakarta.security.enterprise.credential</a></div>
<div class="col-last odd-row-color">
<div class="block">The Identity Store Credential API package.</div>
</div>
<div class="col-first even-row-color"><a href="jakarta.security/jakarta/security/enterprise/identitystore/package-summary.html">jakarta.security.enterprise.identitystore</a></div>
<div class="col-last even-row-color">
<div class="block">The identity store API package.</div>
</div>
<div class="col-first odd-row-color"><a href="jakarta.security/jakarta/security/enterprise/identitystore/openid/package-summary.html">jakarta.security.enterprise.identitystore.openid</a></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Comments to: <a href="mailto:es-dev@eclipse.org">es-dev@eclipse.org</a>.<br> Copyright &#169; 2019, 2022 Eclipse Foundation. All rights reserved.<br> Use is subject to <a href="./doc-files/speclicense.html" target="_top">license terms</a>.</small></p>
</footer>
</div>
</div>
</body>
</html>