NCBACK-162
Test Workflow / test (push) Has been cancelled

This commit is contained in:
2026-06-01 15:07:11 +07:00
parent 184f3a730c
commit ab4c60f4b9
2 changed files with 17 additions and 28 deletions
@@ -25,7 +25,7 @@ public class SecurityConfig {
.sessionManagement(session ->
session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(auth -> auth
.requestMatchers("api/v{version}/files/public-download/**").permitAll() // логин, регистрация
.requestMatchers("api/v{version}/files/public-download/**").permitAll()
.requestMatchers("/api/files/public/**").permitAll()
.requestMatchers("/api/auth/**").permitAll()
.requestMatchers("/api/file/link/**").permitAll()
+16 -27
View File
@@ -10,8 +10,6 @@ import org.springframework.stereotype.Component;
import javax.crypto.SecretKey;
import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Component
public class JwtUtil {
@@ -22,53 +20,44 @@ public class JwtUtil {
@Value("${jwt.expiration:3600000}")
private Long expiration;
private SecretKey getSigningKey() {
return Keys.hmacShaKeyFor(secret.getBytes(StandardCharsets.UTF_8));
}
public String generateToken(Long userId, String email) {
Map<String, Object> claims = new HashMap<>();
claims.put("userId", userId);
claims.put("email", email);
return Jwts.builder()
.setClaims(claims)
.setSubject(email)
.claim("userId", userId)
.setIssuedAt(new Date())
.setExpiration(new Date(System.currentTimeMillis() + expiration))
.signWith(getSigningKey())
.signWith(getSigningKey(), SignatureAlgorithm.HS256)
.compact();
}
public Claims extractClaims(String token) {
return Jwts.parser()
.setSigningKey(getSigningKey())
.build()
.parseClaimsJws(token)
.getBody();
}
public String extractEmail(String token) {
return extractAllClaims(token).getSubject();
return extractClaims(token).getSubject();
}
public Long extractUserId(String token) {
return extractAllClaims(token).get("userId", Long.class);
return extractClaims(token).get("userId", Long.class);
}
public String extractRole(String token) {
return extractAllClaims(token).get("role", String.class);
public boolean isTokenExpired(String token) {
return extractClaims(token).getExpiration().before(new Date());
}
public Date extractExpiration(String token) {
return extractAllClaims(token).getExpiration();
}
private Claims extractAllClaims(String token) {
return Jwts.parser()
.verifyWith(getSigningKey())
.build()
.parseSignedClaims(token)
.getPayload();
}
public Boolean validateToken(String token) {
public boolean validateToken(String token) {
try {
extractAllClaims(token);
return !extractExpiration(token).before(new Date());
return !isTokenExpired(token);
} catch (Exception e) {
return false;
}