diff --git a/pom.xml b/pom.xml
index 0c1dc24..2d226b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
com.knecon.fforesight
keycloak-commons
- 0.1-SNAPSHOT
+ 0.2-SNAPSHOT
keycloak-commons
keycloak-commons
diff --git a/src/main/java/com/knecon/fforesight/keycloakcommons/MultiTenancyJwtBasedWebConfiguration.java b/src/main/java/com/knecon/fforesight/keycloakcommons/MultiTenancyJwtBasedWebConfiguration.java
index 37610d8..edd02c2 100644
--- a/src/main/java/com/knecon/fforesight/keycloakcommons/MultiTenancyJwtBasedWebConfiguration.java
+++ b/src/main/java/com/knecon/fforesight/keycloakcommons/MultiTenancyJwtBasedWebConfiguration.java
@@ -2,6 +2,7 @@ package com.knecon.fforesight.keycloakcommons;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@@ -21,7 +22,7 @@ public class MultiTenancyJwtBasedWebConfiguration implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
- registry.addWebRequestInterceptor(jwtBasedTenantInterceptor);
+ registry.addWebRequestInterceptor(jwtBasedTenantInterceptor).order(Ordered.LOWEST_PRECEDENCE);
}
}
diff --git a/src/main/java/com/knecon/fforesight/keycloakcommons/security/TokenRealmService.java b/src/main/java/com/knecon/fforesight/keycloakcommons/security/TokenRealmService.java
index 127d7f0..f9920b0 100644
--- a/src/main/java/com/knecon/fforesight/keycloakcommons/security/TokenRealmService.java
+++ b/src/main/java/com/knecon/fforesight/keycloakcommons/security/TokenRealmService.java
@@ -6,15 +6,17 @@ import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
import org.springframework.stereotype.Service;
-import com.knecon.fforesight.keycloakcommons.security.TokenUtils;
-
@Service
public class TokenRealmService {
public Optional getRealm() {
var authentication = (JwtAuthenticationToken) SecurityContextHolder.getContext().getAuthentication();
- return Optional.of(TokenUtils.toTenant(authentication.getToken().getTokenValue()));
+ if (authentication != null && authentication.getToken() != null && authentication.getToken().getTokenValue() != null) {
+ return Optional.of(TokenUtils.toTenant(authentication.getToken().getTokenValue()));
+ } else {
+ return Optional.empty();
+ }
}
}