View Javadoc
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  }