5
5
import com .contentgrid .gateway .runtime .web .ContentGridAppRequestWebFilter ;
6
6
import com .contentgrid .gateway .security .authority .AuthenticationDetails ;
7
7
import com .contentgrid .gateway .security .jwt .issuer .JwtClaimsResolver ;
8
- import com .contentgrid .thunx .encoding .json .ExpressionJsonConverter ;
8
+ import com .contentgrid .thunx .encoding .ThunkExpressionEncoder ;
9
+ import com .contentgrid .thunx .encoding .json .JsonThunkExpressionCoder ;
9
10
import com .contentgrid .thunx .predicates .model .ThunkExpression ;
10
11
import com .contentgrid .thunx .spring .security .ReactivePolicyAuthorizationManager ;
11
12
import com .nimbusds .jwt .JWTClaimsSet ;
12
13
import com .nimbusds .jwt .JWTClaimsSet .Builder ;
14
+ import java .nio .charset .StandardCharsets ;
13
15
import lombok .RequiredArgsConstructor ;
14
16
import org .springframework .security .oauth2 .core .oidc .StandardClaimNames ;
15
17
import org .springframework .web .server .ServerWebExchange ;
16
18
import reactor .core .publisher .Mono ;
17
19
18
20
@ RequiredArgsConstructor
19
21
public class RuntimeJwtClaimsResolver implements JwtClaimsResolver {
20
- private static final ExpressionJsonConverter thunxExpressionConverter = new ExpressionJsonConverter ();
22
+ private static final ThunkExpressionEncoder thunxExpressionEncoder = new JsonThunkExpressionCoder ();
21
23
22
24
@ Override
23
25
public Mono <JWTClaimsSet > resolveAdditionalClaims (ServerWebExchange exchange , AuthenticationDetails authenticationDetails ) {
@@ -28,7 +30,7 @@ public Mono<JWTClaimsSet> resolveAdditionalClaims(ServerWebExchange exchange, Au
28
30
var jwtClaimsBuilder = new Builder ();
29
31
30
32
if (abacPolicyPredicate != null ) {
31
- jwtClaimsBuilder .claim ("x-abac-context" , thunxExpressionConverter .encode (abacPolicyPredicate ));
33
+ jwtClaimsBuilder .claim ("x-abac-context" , new String ( thunxExpressionEncoder .encode (abacPolicyPredicate ), StandardCharsets . UTF_8 ));
32
34
}
33
35
34
36
return Mono .just (
0 commit comments