지난 포스팅에서 JWT의 개념에 대해서 알아봤으니까 이번 포스팅에서는 JWT 방식을 채택해서 로그인 기능을 구현할 예정이다. Dependencies // Spring Security implementation 'org.springframework.boot:spring-boot-starter-security' testImplementation 'org.springframework.security:spring-security-test' // JWT Token implementation 'io.jsonwebtoken:jjwt:0.9.1' 'org.springframework.boot:spring-boot-starter-security' : Springboot에 Security 설정을 하기 위해서 필요한 디펜던..
프로젝트를 진행하다 보면, 필요에 의해서 로그인 기능을 구현해야할 때가 찾아온다. 로그인 기능을 구현하는 방법에는 Session을 이용하는 방식, Cookie를 이용하는 방식, Token을 이용하는 방식이 존재하는데, 이번 포스팅에서는 JWT의 개념에 대해서 알아보고 다음 포스팅에서 Login 기능을 구현할 예정이다. JWT(Json Web Token) JWT란 Json Web Token의 약자로 Json 형식을 사용하여 사용자의 정보를 저장하는 Claim 기반의 Web Token이다. JWT는 Token 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다. JWT의 구조 Header, Payload, Signature로 이루어져있으며, Json 형태인 각 부분은 Base..
이전에도 잠깐 Redis에 관한 글을 작성했었는데, 우연히도 이번 프로젝트에서 Redis를 사용할 일이 생겨서 구현해보는 김에 작성해 본다. 우선 디펜던시부터 추가해 보자! Springboot에서 Redis를 사용할 때, SpringRedisRepository, SpringRedisTemplate 이렇게 2가지의 방식이 존재하는데, 이번에는 SpringRedisTemplate를 사용해서 Redis를 사용할 예정이다. // application.properties Redis에 접속하기 위한 IP, PORT, PASSWORD, DATABASE를 작성한다. // RedisConfig.java Redis에 접속하기 위한 정보와, 어떤 Serializer를 사용할 것인지 설정한다. RedisConfig로 이름을 ..
이번에 진행하는 프로젝트가 랜덤 채팅 관련 프로젝트인데, 이번에 WebSocket과 STOMP를 사용해서 채팅방을 구현하게 돼서, 한 번 글을 써보려고 한다. 이번 글에서는 STOMP를 사용해서 WebSocket을 구현할 예정이다. 구현에 대해서 얘기하기 전에 STOMP에 대해서 먼저 알고 가야 할 것 같다. STOMP란? STOMP는 Simple Text Oriented Message Protocol의 약자로, 메시징 전송을 효율적으로 하기 위한 프로토콜로서, Pub/Sub 기반으로 동작하게 된다. 메시지를 송신, 수신에 대한 처리가 명확하게 정의될 수 있다. 또한, WebSocketHandler를 직접 구현할 필요 없이 @MessageMapping 같은 어노테이션을 사용해서 메시지 발행 시 엔드포인트..