Class JWTToUserPrincipalConverter

java.lang.Object
com.example.blogs.app.security.JWTToUserPrincipalConverter
All Implemented Interfaces:
Converter<org.springframework.security.oauth2.jwt.Jwt,org.springframework.security.authentication.AbstractAuthenticationToken>

@Component public class JWTToUserPrincipalConverter extends Object implements Converter<org.springframework.security.oauth2.jwt.Jwt,org.springframework.security.authentication.AbstractAuthenticationToken>
Converts JWT tokens to UserPrincipal authentication tokens for Spring Security context. Extracts user information from custom JWT claims (id, username, email, profilePictureUrl) rather than from the subject claim, which contains a UUID-based JTI.
  • Constructor Details

    • JWTToUserPrincipalConverter

      public JWTToUserPrincipalConverter()
  • Method Details

    • convert

      public org.springframework.security.authentication.AbstractAuthenticationToken convert(org.springframework.security.oauth2.jwt.Jwt source)
      Converts a JWT to a UserPrincipal authentication token. Extracts user information from JWT claims and creates an authenticated token.
      Specified by:
      convert in interface Converter<org.springframework.security.oauth2.jwt.Jwt,org.springframework.security.authentication.AbstractAuthenticationToken>
      Parameters:
      source - the JWT to convert
      Returns:
      authenticated token containing UserPrincipal
      Throws:
      IllegalArgumentException - if JWT 'id' claim is missing or invalid