diff --git a/spring-security/src/main/java/com/sap/cloud/security/spring/token/SpringSecurityContext.java b/spring-security/src/main/java/com/sap/cloud/security/spring/token/SpringSecurityContext.java index 7419133d7..6dc4e3ede 100644 --- a/spring-security/src/main/java/com/sap/cloud/security/spring/token/SpringSecurityContext.java +++ b/spring-security/src/main/java/com/sap/cloud/security/spring/token/SpringSecurityContext.java @@ -57,7 +57,7 @@ public static Token getToken() { return (Token) principal; } throw new AccessDeniedException( - "Access forbidden: SecurityContextHolder does not contain a principal of type 'Token' " + principal); + "Access forbidden: SecurityContextHolder does not contain a principal of type 'Token'. Found instead a principal of type " + principal.getClass()); } /** diff --git a/spring-xsuaa/src/main/java/com/sap/cloud/security/xsuaa/token/SpringSecurityContext.java b/spring-xsuaa/src/main/java/com/sap/cloud/security/xsuaa/token/SpringSecurityContext.java index 114943f89..195742917 100644 --- a/spring-xsuaa/src/main/java/com/sap/cloud/security/xsuaa/token/SpringSecurityContext.java +++ b/spring-xsuaa/src/main/java/com/sap/cloud/security/xsuaa/token/SpringSecurityContext.java @@ -5,6 +5,8 @@ */ package com.sap.cloud.security.xsuaa.token; +import com.sap.cloud.security.xsuaa.extractor.AuthoritiesExtractor; +import com.sap.cloud.security.xsuaa.token.authentication.XsuaaJwtDecoder; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; @@ -12,9 +14,6 @@ import org.springframework.security.oauth2.jwt.JwtDecoder; import org.springframework.util.Assert; -import com.sap.cloud.security.xsuaa.extractor.AuthoritiesExtractor; -import com.sap.cloud.security.xsuaa.token.authentication.XsuaaJwtDecoder; - public class SpringSecurityContext { private SpringSecurityContext() { @@ -31,7 +30,7 @@ private SpringSecurityContext() { *

* Note: This method is introduced with xsuaa spring client lib. */ - static public Token getToken() { + public static Token getToken() { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); if (authentication == null) { @@ -42,7 +41,7 @@ static public Token getToken() { return (Token) principal; } throw new AccessDeniedException( - "Access forbidden: SecurityContextHolder does not contain a principal of type 'Token' " + principal); + "Access forbidden: SecurityContextHolder does not contain a principal of type 'Token'. Found instead a principal of type " + principal.getClass()); } /** @@ -58,7 +57,7 @@ static public Token getToken() { * the extractor used to turn Jwt scopes into Spring Security * authorities. */ - static public void init(String encodedJwtToken, JwtDecoder xsuaaJwtDecoder, + public static void init(String encodedJwtToken, JwtDecoder xsuaaJwtDecoder, AuthoritiesExtractor authoritiesExtractor) { Assert.isInstanceOf(XsuaaJwtDecoder.class, xsuaaJwtDecoder, "Passed JwtDecoder instance must be of type 'XsuaaJwtDecoder'"); @@ -75,7 +74,7 @@ static public void init(String encodedJwtToken, JwtDecoder xsuaaJwtDecoder, * Cleans up the Spring Security Context {@link SecurityContextHolder} and * release thread locals for Garbage Collector to avoid memory leaks resources. */ - static public void clear() { + public static void clear() { SecurityContextHolder.clearContext(); } -} \ No newline at end of file +}