본문 바로가기
항해 플러스

시작하는 마음

by 슈슈슉민 2024. 6. 15.
  1. 문제 이번 주차를 지나며 겪었던 문제가 무엇이었나요?
  2. 시도 문제를 해결하기 위해 어떤 시도를 하셨나요?
  3. 해결 문제를 어떻게 해결하셨나요?
  4. 알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?
  5. 지난 목표 회고 지난 주에 설정해두었던 목표는 달성하셨나요? 잘된 것은 무엇이고 안된 것은 무엇인가요?
  6. 다음 목표 설정 반복적인 성장을 위한 실천 가능한 단기적인 목표를 설정해보세요!

 
1. 6월 15일인 오늘 첫 항해 플러스를 시작하여 관련된 문제가 없어 회사에서 겪은 일화들로 대체하겠다. 일단 회사 task 로써 리액트로 refresh token 을 사용해 access token 만기 시간을 연장하라는 과제가 제일 기억에 남았다. 
 
2. 이 문제를 해결하기 위해서는 백단(spring)에서 어떻게  token 을 발급해주는지를 파악하고 있어야한다.

  • 우리회사에서는 access token가 존재함에 따라 header에 Authorization 에 token을 사용했다. 그렇다면 access token이 없으면 auth도 없는 것이다. 그래서 access token 의 유무를 확인하는 것이 관건임을 알았고, 로그인하자마자 cookie 에 access token, refresh token, 그 각각에 따른 만기시간의 정보등을 저장했다.
  • 그런 다음 할일은 저장된 refresh token 값을 사용해야한다.

3. 문제는 토큰 만료 시간이 지나면 토큰은 사라진다는 것이다. 그럼 auth 가 없는 상태가 되고 private Route로 우리 회사 방식대로 custom 한 구조에 다라 sign page로 redirect 된다. 이 문제로 끙끙 앓고 있자 선임 한분이 interceptor 안에서 token 로직을 사용하는 대신 useEffect 를 사용하라고 했고 나는 번뜩 변경 감지로 access token을 대상으로 삼으면 되겠다고 생각이 되었다. 다음주 월요일에 할 예정이다. 성공시 블로그에 적을 예정이다.
 
4. 알게된 것은 jwt, oauth, security 구조와 http 통신을 가로채는 interceptor 이다. 
https://code-sumin.tistory.com/37

Spring Security Architecture 이해하기

1. HttpRequest 를 보내면 Dispatcher Servlet 에 도착하기전에 filter가 낚아챈다.request의 종류에 따라 BasicAuthenticationFilter, UsernamePasswordAuthenticationFilter 등의 다른 종류의 Authentication Filter가 작동한다. 이

code-sumin.tistory.com

https://code-sumin.tistory.com/38

Spring Boot 와 Oauth2 구축

github oauth를 활용하여 oauth를 구현해보는 실습을 할 것 이다. Github 및 Spring Security 로 어플리케이션 보안spring-boot-starter-oauth2-client소셜 로그인(github) 을 하려면 Spring Security Oauth 2.0 클라이언트 스

code-sumin.tistory.com

https://code-sumin.tistory.com/39

Spring Security와 JWT

package com.softnet.oceanback.config;import com.softnet.oceanback.config.jwt.JwtAuthenticationEntryPoint;import com.softnet.oceanback.config.jwt.JwtSecurityConfig;import com.softnet.oceanback.config.jwt.TokenProvider;import lombok.RequiredArgsConstructor;i

code-sumin.tistory.com

위는 내가 작성한 글이다. react 를 작업하면서 왜 spring post를 재개했는가 묻는다면 전체적인 구조를 알 필요가 있었기 때문이다. 회사마다 task마다 인증로직은 바뀔 수 있기 때문에 그것들을 파악하기 위해서 필요한 공부였다. 그렇기 때문에 react 에서 작업할 때 인증 로직를 파악하여 token 로직을 짤 수 있었다. 
 
5. 잘 안된던 것은 질문이였다. 처음 개발하는 react 인데 browser debugging 도 몰라서 console.log를 써야만했다. 책임께 여쭤보니 잘 알려주셨고 앞으로 모르는 것은 질문하라고 하셨다...ㅠ
 
6. 다음 목표는 앞으로 헤쳐나갈 항해 과제와 spring cloud 이다.