Package com.example.blogs.app.security
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.authentication.AbstractAuthenticationTokenconvert(org.springframework.security.oauth2.jwt.Jwt source) Converts a JWT to a UserPrincipal authentication token.
-
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:
convertin interfaceConverter<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
-