본문 바로가기
SI 업무/나만의 프로젝트 만들기

11-2. JWT인증-Token 생성

by 새로운걸 배우는게 너무 싫은 IT 복붙러 2024. 12. 14.
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