Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5cd85bd96b | ||
|
|
034fea4284 | ||
|
|
3ab14abbed | ||
|
|
ef750953d6 | ||
|
|
24fec3b84f | ||
|
|
526887f3e2 | ||
|
|
2a8196a69f | ||
|
|
c85fa7da0a | ||
|
|
7269604f0b | ||
|
|
725721277e |
1
.gitignore
vendored
1
.gitignore
vendored
@ -39,3 +39,4 @@ gradle/
|
|||||||
|
|
||||||
**/.gradle
|
**/.gradle
|
||||||
**/build
|
**/build
|
||||||
|
.DS_Store
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
plugins {
|
plugins {
|
||||||
`java-library`
|
`java-library`
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
`kotlin-dsl`
|
|
||||||
pmd
|
pmd
|
||||||
checkstyle
|
checkstyle
|
||||||
jacoco
|
jacoco
|
||||||
@ -12,12 +11,11 @@ plugins {
|
|||||||
val springVersion = "3.2.2";
|
val springVersion = "3.2.2";
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
api("com.knecon.fforesight:tenant-commons:0.21.0")
|
api("com.knecon.fforesight:tenant-commons:0.31.0")
|
||||||
api("org.springframework.boot:spring-boot-starter-oauth2-resource-server:${springVersion}")
|
api("org.springframework.boot:spring-boot-starter-oauth2-resource-server:${springVersion}")
|
||||||
api("org.springframework.boot:spring-boot-starter-security:${springVersion}")
|
api("org.springframework.boot:spring-boot-starter-security:${springVersion}")
|
||||||
api("org.springframework.boot:spring-boot-starter-web:${springVersion}")
|
api("org.springframework.boot:spring-boot-starter-web:${springVersion}")
|
||||||
api("org.springframework.boot:spring-boot-configuration-processor:${springVersion}")
|
api("org.springframework.boot:spring-boot-configuration-processor:${springVersion}")
|
||||||
api("org.projectlombok:lombok:1.18.30")
|
|
||||||
testImplementation("org.springframework.boot:spring-boot-starter-test:${springVersion}")
|
testImplementation("org.springframework.boot:spring-boot-starter-test:${springVersion}")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,7 +79,7 @@ tasks.named<Test>("test") {
|
|||||||
|
|
||||||
sonarqube {
|
sonarqube {
|
||||||
properties {
|
properties {
|
||||||
property("sonar.login", providers.gradleProperty("sonarToken").getOrNull())
|
providers.gradleProperty("sonarToken").getOrNull()?.let { property("sonar.login", it) }
|
||||||
property("sonar.host.url", "https://sonarqube.knecon.com")
|
property("sonar.host.url", "https://sonarqube.knecon.com")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -101,4 +99,4 @@ tasks.jacocoTestReport {
|
|||||||
|
|
||||||
java {
|
java {
|
||||||
withJavadocJar()
|
withJavadocJar()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package com.knecon.fforesight.keycloakcommons.security;
|
package com.knecon.fforesight.keycloakcommons.security;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
@ -8,7 +7,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||||||
import org.springframework.security.authentication.AuthenticationManager;
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.security.authentication.AuthenticationManagerResolver;
|
import org.springframework.security.authentication.AuthenticationManagerResolver;
|
||||||
import org.springframework.security.oauth2.jwt.JwtDecoder;
|
import org.springframework.security.oauth2.jwt.JwtDecoder;
|
||||||
import org.springframework.security.oauth2.jwt.JwtDecoders;
|
|
||||||
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter;
|
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter;
|
||||||
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationProvider;
|
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationProvider;
|
||||||
import org.springframework.security.oauth2.server.resource.web.BearerTokenResolver;
|
import org.springframework.security.oauth2.server.resource.web.BearerTokenResolver;
|
||||||
@ -37,6 +35,18 @@ public class TenantAuthenticationManagerResolver implements AuthenticationManage
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public AuthenticationManager resolve(String token) {
|
||||||
|
|
||||||
|
return this.authenticationManagers.computeIfAbsent(toTenant(token), this::fromTenant);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String toTenant(String token) {
|
||||||
|
|
||||||
|
return TokenUtils.toTenant(token);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private String toTenant(HttpServletRequest request) {
|
private String toTenant(HttpServletRequest request) {
|
||||||
|
|
||||||
return TokenUtils.toTenant(this.resolver.resolve(request));
|
return TokenUtils.toTenant(this.resolver.resolve(request));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user