토큰 질문있습니다!
제로초님 저번에 강좌에서 낸 숙제라고 하신 앱을 킬때마다 리프레시 토큰 갱신하는것을 구현해 보았습니다. 그런데 제가 옳은 방법으로 했는지 피드백 부탁드립니다!!
질문 1.
로그인을 해서 accesstoken과 refreshtoken을 이미 발급받았고 앱을 껐다가 다시 켰을 때를 가정했을 시
getTokenAndRefresh 함수가 실행되어 (1)의 axios.post(`${Config.API_URL}/refreshToken`,백앤드 요청이 갑니다.
AppInner.tsx
app.js의 백앤드에서 리프레시 토큰 유효성 검사를 한 후 (2) refreshtoken(새로 추가한 부분)와 accesstoken을 같이 발급해 줍니다. 그러면 다시 AppInner 프론트 페이지로 가서 accesstoken을 리덕스에 저장하고 refreshtoken은1은(2의) await EncryptedStorage.setItem에 저장해줍니다.
app.js (백앤드)
이렇게 구현해 보았는데요. 결과는 로그인 하면 기존처럼 accesstoken과 refreshtoken이 발급되고 앱을 껐다가 키면 리프레시 토큰 유효성 검사를 한 뒤 유효하면 accesstoken과 refreshtoken을 다시 발급해주며 갱신시켜 줍니다. 만약 refreshotken이 만료되었다면 로그인 페이지로 이동하게 되구요. 시도를 해보니 잘 작동을 하는것 같은데 혹시 제가 무엇을 빼놓지는 않았는지 옳은방법으로 한것인지 제로초님의 의견이 궁금합니다!.
질문2.
강의중 제로초님은 accesstoken은 리덕스에 refreshtoken은 암호 저장소에 저장한다고 하셨는데 그러면
백엔드 db에는 둘 중 어느 토큰도 저장하지 않으시는지 궁금합니다.
만약 그렇다면 로그인 할때 백엔드에서
users[req.body.email].refreshToken = refreshToken;이 코드가 의미하는바가 무엇인지 궁금합니다. 디비용 더미 데이터 같은데 지웠는데도 잘 실행되더라구요. 없어도 되는 코드인가요?...
답변 1
0
1. 코드는 문제가 없는데 액세스 토큰을 리프레시할 때마다 리프레시토큰도 같이 리프레시되는 게 이상합니다. refreshToken은 별도의 라우터로 리프레시하는 게 맞는 것 같습니다.
2. 원래는 리프레시토큰은 DB에 저장해서 리프레시토큰을 갱신하는 요청이 오거나 할 때 DB에 있는 리프레시 토큰과 비교하거나 합니다. 다만 jwt 토큰을 사용하면 jwt 토큰 자체가 변조가 안 되므로 그 자체로 믿고 쓸 수 있어서 DB 접근을 안 할 수 있습니다.
앱실행시 네이버맵 [401] 에러
0
1068
2
스타일링 라이브러리
0
160
2
expo, cli 선택 중에 고민이 있습니다.
0
180
2
JDK 버전이 달라도 괜찮나요?
0
241
2
dimenstion usewindowdeminstion
0
130
3
[맥 전용]환경 설정하기 1편 & [맥 전용]환경 설정하기 2편의 영상이 안나옵니다.
0
218
1
jdk11 버전과 gradle 버전의 호환성 관련 질문드립니다.
0
407
2
강의 외 질문입니다!
0
164
2
react native랑 맞는 ui 라이브러리 어떤게 좋을까요?
0
1554
2
react native와 spring boot 연결
0
365
1
java가 아닌 .kt에서 code push 에러가 발생합니다.
0
223
2
flipper 239 에러가 발생합니다.
0
173
2
package.json에 /lib/panino.js 문제입니다.
0
481
2
window - mac 협업 과정 질문합니다
0
221
1
ios 빌드 중 RCTBridgeDelegate.h import 오류
0
295
2
ios 앱 빌드 중 hermesEnabled 관련 오류발생
0
249
2
Socket 연결시 질문 드립니다.!
0
158
2
wifi 환경에서 axios 통신이 로컬서버에서 안됩니다.
0
430
2
iOS render error 질문드립니다.
0
417
2
iOS 가상머신 오류
0
173
2
npc react init 명령어 실행시 발생되는 오류
0
224
1
nom start 시 오류
0
122
1
NextJS 기반으로 만들어서 웹뷰 React Native로 배포 가능한가요?
0
1019
2
안드로이드 rn75 버전에 맞게 설정 중에 android13 다운로드에 대해서 막혔습니다!
0
187
2





