[ 
https://issues.apache.org/jira/browse/KARAF-7977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Pavlovich updated KARAF-7977:
----------------------------------
    Description: 
The JDK JAAS API is undergoing transition to better support Virtual Threads by 
removing APIs that utilize ThreadLocal in favor of StoredValue.

Issue(s):

1. JDK 11 and 17 do not support the end-state JAAS APIs (specifically 
Subject.current())
2. Mixing JAAS APIs will break if users switch JDKs for the same Karaf and any 
code that uses JAAS security APIs.

API combinations:

doAs() + AccessController <-- deprecated for removal
callAs() + Subject.current() <-- first available in JDK 18 (or JDK 21 LTS)

There is not a current solution to provide:

1. Seamless transition for Karaf users across JDKs, unless the starting 
supported LTS version is JDK 21

2. Consistent JAAS API usage across Karaf 

  was:
The JDK JAAS API is undergoing transition to better support Virtual Threads by 
removing APIs that utilize ThreadLocal.

Issue(s):

1. JDK 11 and 17 do not support the end-state APIs
2. Mixing JAAS APIs will break if users switch JDKs for the same Karaf and any 
code that uses JAAS security APIs.

API combinations:

doAs() + AccessController <-- deprecated for removal
callAs() + Subject.current() <-- first available in JDK 18 (or JDK 21 LTS)

There is not a current solution to provide:

1. Seamless transition for Karaf users across JDKs, unless the starting 
supported LTS version is JDK 21

2. Consistent JAAS API usage across Karaf 


> Support JDK JAAS API migration 
> -------------------------------
>
>                 Key: KARAF-7977
>                 URL: https://issues.apache.org/jira/browse/KARAF-7977
>             Project: Karaf
>          Issue Type: Improvement
>            Reporter: Matt Pavlovich
>            Priority: Major
>
> The JDK JAAS API is undergoing transition to better support Virtual Threads 
> by removing APIs that utilize ThreadLocal in favor of StoredValue.
> Issue(s):
> 1. JDK 11 and 17 do not support the end-state JAAS APIs (specifically 
> Subject.current())
> 2. Mixing JAAS APIs will break if users switch JDKs for the same Karaf and 
> any code that uses JAAS security APIs.
> API combinations:
> doAs() + AccessController <-- deprecated for removal
> callAs() + Subject.current() <-- first available in JDK 18 (or JDK 21 LTS)
> There is not a current solution to provide:
> 1. Seamless transition for Karaf users across JDKs, unless the starting 
> supported LTS version is JDK 21
> 2. Consistent JAAS API usage across Karaf 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to