22.06.30 TIL

Wintering·2022년 6월 30일
1

2022TIL

목록 보기
58/87

6월30일(목)

내일배움캠프 D+74 ❤️‍🔥

  • HttpCookieOauth2AuthorizationRepository
    : authorization request를 cookie에 save 및 저장
  • CustomOauth2Service
    : Oauth2Provider로부터 access token을 전달받고, 이를 이용해 user정보를 load할 때 사용
    access token을 사용하여 userdetail 정보를 획득

❓❓❓

  • 리프레시 토큰은 쿠키에 있고, 엑세스 토큰은 uri로 던짐
    • 리프레시 토큰은 백엔드 단에서 쿠키에 저장 (HttpOnly)
    • 엑세스 토큰은 프론트엔드 단에서 저장하고 관리해줌

  • 방법 1
    • Handler에서 cookie에 토큰을 저장해줄 때, HttpOnly 세팅을 잡은 addCookie와 HttpOnly(false) 세팅을 잡은 addCookie 메소드를 각각 2개 만들어주고, 리프레시 토큰과 액세스 토큰을 각각의 방식으로 따로 저장
  • 방법2
      1. 핸들러의 redirect 경로를 바꿔서 소셜로그인 후 queryParam의 형태로 전해진 token을 클라이언트가 볼 수 없는 경로로 전달
        : 전달하고 model.attribute를 통해 view로 토큰값을 넘겨줌
      1. js에서 넘겨받은 토큰값을 쿠키에 저장해줌 (set.cookie) // 이 단계에서 엑세스 토큰이 쿠키에 저장됨!
      1. ajax 콜을 서버로 보낼 때, Header값에 token을 넣어서 보내줌
        (Spring Security)의 filter가 Header의 토큰을 인식, JWT Token을 인증해줌)

  • 이해하고 공부하느라 하루를 다썼다. 하루가 뭐야 목요일이니까 4일 쓴 것 같다.
    이제 로직은 이해가 되니까 구현이 문젠데.. 구현하자니 또 js나 thymeleaf 문법이 헷갈린다.
    척척 개발하고 싶다 흑흑

1개의 댓글

comment-user-thumbnail
2022년 7월 1일

척척 할 수 있따 개발 척척 박사

답글 달기