1 package de.dlr.shepard.auth.security;
2
3 import jakarta.ws.rs.core.SecurityContext;
4 import java.security.Principal;
5 import java.util.Arrays;
6
7 public class JWTSecurityContext implements SecurityContext {
8
9 private SecurityContext context;
10 private JWTPrincipal userPrincipal;
11
12 public JWTSecurityContext(SecurityContext context, JWTPrincipal userPrincipal) {
13 this.context = context;
14 this.userPrincipal = userPrincipal;
15 }
16
17 @Override
18 public Principal getUserPrincipal() {
19 return userPrincipal;
20 }
21
22 @Override
23 public boolean isUserInRole(String role) {
24 return Arrays.stream(userPrincipal.getRoles()).anyMatch(role::equals);
25 }
26
27 @Override
28 public boolean isSecure() {
29 return context.isSecure();
30 }
31
32 @Override
33 public String getAuthenticationScheme() {
34 return "Token-Based-Auth-Scheme";
35 }
36 }