728x90
User 가 Site 에 최초 접속 하면 login 화면이 뜬다.
Login 화면에 id , password 입력후 엔터 치면
Server는 JWT 로 Token 을 만들고 해당 Token 을 UI 에 response 로 전달 한다.
1. 아래 소스는 Server가 Token 을 만들때 사용할 Class 이다.
JwtUtils.java
package com.example.myproject.biz.com.auth;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.security.Keys;
import org.springframework.stereotype.Component;
import javax.crypto.SecretKey;
import java.util.Date;
@Component
public class JwtUtils {
private static final SecretKey SECRET = Keys.secretKeyFor(SignatureAlgorithm.HS256);
public static String generateToken(String username) {
return Jwts.builder()
.setSubject(username)
.setExpiration(new Date(System.currentTimeMillis() + 864_000_000))
// .signWith(SignatureAlgorithm.HS512, SECRET)
.signWith(SECRET)
.compact();
}
public static String validateTokenAndGetUsername(String token) {
return Jwts.parser()
.setSigningKey(SECRET)
.parseClaimsJws(token)
.getBody()
.getSubject();
}
}
generateToken() 메소드에서 token을 만든다.
validateTokenAndGetUsernmae() 메소드에서 token에 맞는 User 가 있는지 validation을 한다.
오늘도 읽어 주셔서 감사합니다
728x90
'SI 업무 > 나만의 프로젝트 만들기' 카테고리의 다른 글
| 11-4.JWT-정리 & 최종 소스 (1) | 2024.12.16 |
|---|---|
| 11-3.JWT- SpringSecurity/ Filter chain (1) | 2024.12.14 |
| 11-1. JWT인증-의존성 추가 (0) | 2024.12.14 |
| 10. 기존 화면에 로그인 화면 추가 (0) | 2024.12.07 |
| 9. vue request-> spring response (0) | 2024.12.02 |