- 문제 이번 주차를 지나며 겪었던 문제가 무엇이었나요?
- 시도 문제를 해결하기 위해 어떤 시도를 하셨나요?
- 해결 문제를 어떻게 해결하셨나요?
- 알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?
- 지난 목표 회고 지난 주에 설정해두었던 목표는 달성하셨나요? 잘된 것은 무엇이고 안된 것은 무엇인가요?
- 다음 목표 설정 반복적인 성장을 위한 실천 가능한 단기적인 목표를 설정해보세요!
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 이다.