This commit is contained in:
@@ -56,35 +56,39 @@ public class HeaderRolesFilter extends BaseHeaderAuthentication {
|
||||
|
||||
if (cookie == null) return Uni.createFrom().nullItem();
|
||||
|
||||
try {
|
||||
JwtConsumer jwtConsumer = new JwtConsumerBuilder()
|
||||
.setRequireExpirationTime()
|
||||
.setVerificationKey(new HmacKey(SECRET_KEY.getBytes()))
|
||||
.build();
|
||||
return Uni.createFrom().item(() -> {
|
||||
try {
|
||||
JwtConsumer jwtConsumer = new JwtConsumerBuilder()
|
||||
.setRequireExpirationTime()
|
||||
.setVerificationKey(new HmacKey(SECRET_KEY.getBytes()))
|
||||
.build();
|
||||
|
||||
JwtClaims claims = jwtConsumer.processToClaims(cookie.getValue());
|
||||
Map<String, Object> allClaims = claims.getClaimsMap();
|
||||
JwtClaims claims = jwtConsumer.processToClaims(cookie.getValue());
|
||||
Map<String, Object> allClaims = claims.getClaimsMap();
|
||||
|
||||
allClaims.forEach((key, value) -> {
|
||||
if (!isSystemClaim(key) && value != null) {
|
||||
context
|
||||
.request()
|
||||
.headers()
|
||||
.add(InternalValue.headerId + key, value.toString());
|
||||
}
|
||||
});
|
||||
allClaims.forEach((key, value) -> {
|
||||
if (!isSystemClaim(key) && value != null) {
|
||||
context
|
||||
.request()
|
||||
.headers()
|
||||
.add(InternalValue.headerId + key, value.toString());
|
||||
}
|
||||
});
|
||||
|
||||
String role = context.request().getHeader(InternalValue.role);
|
||||
String userId = context.request().getHeader(InternalValue.userId);
|
||||
String role = context.request().getHeader(InternalValue.role);
|
||||
String userId = context.request().getHeader(InternalValue.userId);
|
||||
|
||||
return Uni.createFrom().item(
|
||||
QuarkusSecurityIdentity.builder()
|
||||
return QuarkusSecurityIdentity.builder()
|
||||
.setPrincipal(() -> userId)
|
||||
.addRole(role)
|
||||
.build()
|
||||
);
|
||||
} catch (Exception e) {
|
||||
return Uni.createFrom().nullItem();
|
||||
}
|
||||
.build();
|
||||
} catch (Exception e) {
|
||||
context.response()
|
||||
.setStatusCode(401)
|
||||
.end("InvalidToken");
|
||||
}
|
||||
|
||||
return null;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user