parent
37e2cc4e89
commit
c5a50bd7ec
|
@ -2536,7 +2536,7 @@ The issuer should be one that the code can verify from a trusted source like a l
|
||||||
|
|
||||||
You may have observed that this strategy, while simple, comes with the trade-off that the JWT is parsed once by the `AuthenticationManagerResolver` and then again by the <<oauth2resourceserver-jwt-architecture-jwtdecoder,`JwtDecoder`>> later on in the request.
|
You may have observed that this strategy, while simple, comes with the trade-off that the JWT is parsed once by the `AuthenticationManagerResolver` and then again by the <<oauth2resourceserver-jwt-architecture-jwtdecoder,`JwtDecoder`>> later on in the request.
|
||||||
|
|
||||||
This extra parsing can be alleviated by configuring the <<oauth2resourceserver-jwt-architecture-jwtdecoder,`JwtDecoder`>> directly with a `JWTClaimSetAwareJWSKeySelector` from Nimbus:
|
This extra parsing can be alleviated by configuring the <<oauth2resourceserver-jwt-architecture-jwtdecoder,`JwtDecoder`>> directly with a `JWTClaimsSetAwareJWSKeySelector` from Nimbus:
|
||||||
|
|
||||||
====
|
====
|
||||||
.Java
|
.Java
|
||||||
|
@ -2544,7 +2544,7 @@ This extra parsing can be alleviated by configuring the <<oauth2resourceserver-j
|
||||||
----
|
----
|
||||||
@Component
|
@Component
|
||||||
public class TenantJWSKeySelector
|
public class TenantJWSKeySelector
|
||||||
implements JWTClaimSetAwareJWSKeySelector<SecurityContext> {
|
implements JWTClaimsSetAwareJWSKeySelector<SecurityContext> {
|
||||||
|
|
||||||
private final TenantRepository tenants; <1>
|
private final TenantRepository tenants; <1>
|
||||||
private final Map<String, JWSKeySelector<SecurityContext>> selectors = new ConcurrentHashMap<>(); <2>
|
private final Map<String, JWSKeySelector<SecurityContext>> selectors = new ConcurrentHashMap<>(); <2>
|
||||||
|
@ -2585,7 +2585,7 @@ public class TenantJWSKeySelector
|
||||||
[source,kotlin,role="secondary"]
|
[source,kotlin,role="secondary"]
|
||||||
----
|
----
|
||||||
@Component
|
@Component
|
||||||
class TenantJWSKeySelector(tenants: TenantRepository) : JWTClaimSetAwareJWSKeySelector<SecurityContext> {
|
class TenantJWSKeySelector(tenants: TenantRepository) : JWTClaimsSetAwareJWSKeySelector<SecurityContext> {
|
||||||
private val tenants: TenantRepository <1>
|
private val tenants: TenantRepository <1>
|
||||||
private val selectors: MutableMap<String, JWSKeySelector<SecurityContext>> = ConcurrentHashMap() <2>
|
private val selectors: MutableMap<String, JWSKeySelector<SecurityContext>> = ConcurrentHashMap() <2>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue