세션은 탭을 닫으면 사라진다

<aside> 📄 참고링크

[Spring Boot] Spring Boot + JWT를 이용한 Token 처리

JWT로 TOKEN발급하기

스프링부트 시큐리티 26강 - jwt토큰 만들어서 응답하기

Springboot-JWT-React-OAuth2.0-Eazy/SecurityConfig.java at master · codingspecialist/Springboot-JWT-React-OAuth2.0-Eazy

</aside>

구글로그인 client Credential 방식 삽질 기록

JWT 정리

JWT

📌 다른방법으로 변경

<aside> 💡 방식

[REST API를 활용]

  1. 프론트엔드 : 카카오로부터 인가코드를 받음 ⇒ 인가코드를 백엔드에 넘겨줌
  2. 백엔드 : 인가코드를 받음 ⇒ 카카오에 인가코드를 들고 가서 카카오로부터 access 토큰을 발급받음 ⇒ 그 access토큰을 가지고 우리 사이트 전용 access, refresh 토큰을 발급함 ⇒ 전용토큰을 프론트에 돌려줌
  3. 프론트엔드 : 리다이렉팅 ⇒ 사용자 로그인시킴

*카카오토큰을 서버에서 가공하지 않고 그대로 클라이언트에게 직접 넘겨주면 고소당할 수도 있다고 함. 그럴만도-토큰이 털리면 카카오안에 저장된 그 사용자의 개인정보가 다 털리는 것이므로..

Untitled

</aside>

📢 Spring Security + Jwt + OAuth 이용한 소셜 로그인

  1. 프론트엔드에서 로그인 진행

카카오

<https://kauth.kakao.com/oauth/authorize?client_id=097d883a03c0da953d919d990701da5f&redirect_uri=http://localhost:8080/login/oauth2/code/kakao&response_type=code>

네이버

<https://nid.naver.com/oauth2.0/authorize?client_id=n4ayopJ7b7D_4KefcRcb&redirect_uri=http://localhost:8080/login/oauth2/code/naver&response_type=code>

구글 (코드 발급은 됨, 로그인은 아직)

<https://accounts.google.com/o/oauth2/v2/auth?response_type=code&scope=openid%20email&client_id=417043208647-4staa1cqmcp9bph79l9tv7jusva0tmia.apps.googleusercontent.com&redirect_uri=http://localhost:8080/login/oauth2/code/google>
  1. 코드를 가지고 리소스서버로부터 받은 토큰을 담을 객체 생성

⇒ 리소스서버마다 상이

  1. 리소스서버로부터 받은 사용자 정보를 담을 객체 생성

⇒ API 문서 참고

  1. Service

  2. getAccessToken

<aside> 💡 WebClient

</aside>

  1. findProfile
  1. saveUser

API 문서

카카오

카카오계정

네이버

애플리케이션 - NAVER Developers

오류

OKKY - [해결]java에서 localdatetime타입으로 데이터를 mysql의 datetime타입으로 넣었는데 9시간이 당겨져서 들어갑니다ㅠㅠ

Untitled

추가해준다.

용어

Untitled

카카오로그인

네이버 로그인