You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2021/04/26 09:27:20 UTC

[tomee-jakarta] branch master updated: Improve fix of the JaspicCallbackHandler

This is an automated email from the ASF dual-hosted git repository.

jlmonteiro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-jakarta.git


The following commit(s) were added to refs/heads/master by this push:
     new 190e66f  Improve fix of the JaspicCallbackHandler
190e66f is described below

commit 190e66f079deb1228b499cace52c5f6bf5bf458e
Author: Jean-Louis Monteiro <jl...@tomitribe.com>
AuthorDate: Mon Apr 26 11:23:55 2021 +0200

    Improve fix of the JaspicCallbackHandler
    
    Signed-off-by: Jean-Louis Monteiro <jl...@tomitribe.com>
---
 tomee/apache-tomee/pom.xml                                        | 8 ++++++++
 .../apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java | 7 ++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/tomee/apache-tomee/pom.xml b/tomee/apache-tomee/pom.xml
index 25d0c89..25a1965 100644
--- a/tomee/apache-tomee/pom.xml
+++ b/tomee/apache-tomee/pom.xml
@@ -140,6 +140,14 @@
       <version>${tomee.version}</version>
       <type>jar</type>
     </dependency>
+
+    <!-- needed to compile in intellij for tomcat patches -->
+    <dependency>
+      <groupId>org.apache.tomcat</groupId>
+      <artifactId>tomcat-catalina</artifactId>
+      <version>${tomcat.version}</version>
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/tomee/apache-tomee/src/patch/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java b/tomee/apache-tomee/src/patch/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index 294a783..55c0ec8 100644
--- a/tomee/apache-tomee/src/patch/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/tomee/apache-tomee/src/patch/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -119,6 +119,11 @@ public class CallbackHandlerImpl implements CallbackHandler, Contained {
                 }
 
                 subject.getPrivateCredentials().add(new GenericPrincipal(mergeName, null, mergeRoles, mergePrincipal));
+
+                // may come from CallerPrincipalCallback and we need to being to get it from the Subject
+                if (principal != null) {
+                    subject.getPrincipals().add(principal);
+                }
             }
         }
     }
@@ -141,7 +146,7 @@ public class CallbackHandlerImpl implements CallbackHandler, Contained {
             roles = Arrays.asList(groups);
         }
 
-        return new GenericPrincipal(name, null, roles, principal);
+        return new GenericPrincipal(name, roles, principal);
     }
 
     // Contained interface methods