- Timestamp:
- 01/19/25 23:18:37 (4 months ago)
- Branches:
- main
- Children:
- f5b256e
- Parents:
- db39d9e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/com/example/rezevirajmasa/demo/config/UserAuthProvider.java
rdb39d9e r8ca35dc 7 7 import com.example.rezevirajmasa.demo.dto.UserDto; 8 8 import com.example.rezevirajmasa.demo.service.UserService; 9 import io.jsonwebtoken.Claims; 10 import io.jsonwebtoken.Jwts; 9 11 import jakarta.annotation.PostConstruct; 10 12 import lombok.RequiredArgsConstructor; … … 12 14 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; 13 15 import org.springframework.security.core.Authentication; 16 import org.springframework.security.core.userdetails.UserDetails; 14 17 import org.springframework.stereotype.Component; 15 18 16 import java.util.Base64; 17 import java.util.Collections; 18 import java.util.Date; 19 import java.util.*; 20 import java.util.function.Function; 19 21 20 22 @RequiredArgsConstructor … … 29 31 protected void init() { 30 32 secretKey = Base64.getEncoder().encodeToString(secretKey.getBytes()); 33 } 34 35 public String generateToken(UserDetails userDetails){ 36 Map<String, Object> claims = new HashMap<>(); 37 return createToken(userDetails.getUsername()); 31 38 } 32 39 … … 50 57 return new UsernamePasswordAuthenticationToken(user, null, Collections.emptyList()); 51 58 } 59 60 public String extractUsername(String token) { 61 return extractClaim(token, Claims::getSubject); 62 } 63 64 public Date extractExpiration(String token) { 65 return extractClaim(token, Claims::getExpiration); 66 } 67 68 public <T> T extractClaim(String token, Function<Claims, T> claimsResolver) { 69 final Claims claims = extractAllClaims(token); 70 return claimsResolver.apply(claims); 71 } 72 73 private Claims extractAllClaims(String token) { 74 return Jwts.parser().setSigningKey(secretKey).parseClaimsJws(token).getBody(); 75 } 76 77 private Boolean isTokenExpired(String token) { 78 return extractExpiration(token).before(new Date()); 79 } 52 80 }
Note:
See TracChangeset
for help on using the changeset viewer.