728x90 반응형 공부/Spring62 [Spring] 스프링 jwt 생성, 검증, 값 가져오기 구현 로그인한 회원임을 인증하기 위해서 토큰 방식이 주로 쓰이곤한다. 로그인에 성공하면 서버에서 토큰을 클라이언트에게 넘겨준다. 그리고 로그인이 필요한 요청을 할 때마다 요청 헤더에 토큰을 담아서 서버에 보내준다. 서버에서는 받은 토큰의 유효성 검사를 실시하고 유효하다면 올바른 데이터를 반환해주고 유효하지 않다면 unauthorized 에러를 반환한다. 토큰의 경우 json web token(jwt)를 주로 사용한다. 이 jwt를 발급하는 과정을 포스팅 해보려고 한다. 먼저 build.gradle의 dependencies에 다음 코드를 추가한다. implementation 'io.jsonwebtoken:jjwt:0.9.1' 그리고 토큰 생성에 사용될 secretKey와 유효 기간을 만들어야한다. secretK.. 2023. 4. 30. [Spring] 스프링 시큐리티 default 로그인 경로 변경하는 방법 ("/login") 스프링 시큐리티를 사용해서 인증을 구현하다보면 로그인 경로를 바꾸고 싶을 때가 있다. 로그인 경로를 설정하지 않을 때는 default 로그인 경로가 "/login"으로 되어있는데 이를 바꾸는 방법에 대해 알아보려고 한다. formLogin 방식(form 태그)과 토큰 방식, 두 방식 모두에서 로그인 경로를 "/api/users/login"으로 바꿔보려고 한다. 1. formLogin 방식 만약 form 태그를 사용해서 직접 로그인을 수행한다고 해보자. 아마 아래와 같이 form 태그의 action 속성에 로그인 경로를 넣어서 진행할 것이다. 제출 이를 바꾸고 싶다면 SecurityConfig 파일에서 .formLogin().loginProcessingUrl("변경할 경로")를 추가해주면 된다. @Conf.. 2023. 4. 29. [Spring][WebSocket] 스프링 STOMP와 웹 소켓 개념 및 사용법 (Web Socket with STOMP) (1) 클라이언트와 서버가 통신할 때 HTTP 통신을 주로 사용한다. HTTP 통신은 다음과 같은 특징이 있다. 비연결성 (connectionless) : 연결을 맺고 요청을 하고 응답을 받으면 연결을 끊어버린다. 무상태성 (stateless) : 서버가 클라이언트의 상태를 가지고 있지 않는다. 단방향 통신이다. 이러한 HTTP 통신의 경우 채팅과 같은 실시간 통신에 적합하지 않다. 물론 HTTP 통신으로 실시간 통신을 흉내낼 수는 있으나 완벽하지는 않다. 실시간 통신이 필요할 때 사용하는 통신을 소켓 통신이라고 한다. HTTP 통신과 다르게 연결을 맺고 바로 끊어버리는 게 아니라 계속 유지를 하기 때문에 실시간 통신에 적합하다. 이제 스프링에서 간단하게 웹 소켓으로 통신을 해보려고 한다. 구현에 앞서 STOM.. 2023. 4. 20. [Spring] 스프링 OAuth2 네이버 로그인 (OAuth2 스프링 4편) https://growth-coder.tistory.com/141 [Spring] 스프링 OAuth2 페이스북 로그인 (OAuth2 스프링 3편) 이전 구글 로그인에 이어서 페이스북 로그인도 진행해보려 한다. https://growth-coder.tistory.com/136 [Spring][Spring] 스프링 Oauth2 구글 로그인과 jpa 사용하여 유저 정보 데이터베이스에 저장 및 권한 설 htt growth-coder.tistory.com 이전 포스팅에서 진행한 구글 로그인, 페이스북 로그인에 이어서 네이버 로그인을 해보려고 한다. 네이버 개발자 센터에 접속한다. https://developers.naver.com/main/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 .. 2023. 4. 1. 이전 1 ··· 4 5 6 7 8 9 10 ··· 16 다음 728x90 반응형