KeycloakJwtAuthenticationToken.java
package com.project.auth.config.auth.security;
import com.project.auth.presentation.auth.current.AuthenticatedUser;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.oauth2.jwt.Jwt;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
import java.util.Collection;
public class KeycloakJwtAuthenticationToken extends JwtAuthenticationToken {
private final AuthenticatedUser principal;
public KeycloakJwtAuthenticationToken(
Jwt jwt,
Collection<? extends GrantedAuthority> authorities,
AuthenticatedUser principal,
String name
) {
super(jwt, authorities, name);
this.principal = principal;
}
@Override
public AuthenticatedUser getPrincipal() {
return principal;
}
}