목록jwt (3)
개발 무지렁이
𐂂 JwtConfig 📜 jwt 비밀키 생성 객체 Bean등록.java @Configuration public class JwtConfig { @Value("${custom.jwt.secretKey}") private String secretKeyPlain; @Bean public SecretKey jwtSecretKey() { String keyBase64Encoded = Base64.getEncoder().encodeToString(secretKeyPlain.getBytes()); return Keys.hmacShaKeyFor(keyBase64Encoded.getBytes()); } } 🦉 @Value("${ }") : 외부 설정파일에서(properties, yml..)에서 값을 가져와 해당 클래스의..
𐂂 인증(Authentication)과 인가(Authorization) 🪤 인증이란 : 시스템이 제공한 신원을 확인하는 프로세스를 말한다. 🪤 인가란 : 인증된 개체가 어떤 작업을 수행할 권한이 있는지를 결정하는 프로세스를 말한다. 🌱 Spring Boot는 HTTP or HTTPS 요청이면 클라이언트가 뭐든간(?) 상관없이 요청을 처리한다. 클라이언트가 웹 브라우저인 경우, 브라우저 안의 🍪쿠키가 전달되어 인증 및 인가처리를 하는데, 클라이언트가 웹 브라우저가 아닌경우, 🍪쿠키를 잘 쓰지 않는다. 🍪쿠키를 쓰지 않으면 서버의 세션도 못쓴다. * 이럴때 인증 및 인가를 어떻게 처리할까? * 📕 참고 자료 📕 📍 scale-out(서버의 개수를 늘리는 것)되었을 때, 세션을 통해 인증처리 방식 로드밸런서에..
🪙. 토큰(Token) 기반 인증 방식 : 클라이언트와 서버 간의 인증을 위해 토큰🪙을 사용하는 방식을 말한다. (1) 사용자🐽가 ID/Pwd를 제공하여 로그인을 시도한다. (2) 서버는 사용자🐽의 신원을 확인하고, 유효한(Valid) 경우 서버측에서 토큰🪙을 발급한다. (3) 해당 토큰🪙을 클라이언트로 전송한다. (4) 클라이언트는 이후 요청할 때마다, 토큰🪙을 헤더에 포함시켜 서버에 전송한다. (5) 서버는 토큰을 확인하여 사용자🐽의 신원과 권한을 확인하고 데이터를 전송한다. JWT(JSON Web Token) 서버와 클라이언트 간 인증을 위한 암호화된 토큰🪙을 말한다. 헤더(암호화 알고리즘) + 페이로드(사용자ID, 권한) + 서명(비밀키)으로 구성되며 사용자🐽가 로그인을 하면, 서버측에서 JWT🪙..