[일지] 240311
reponse에 값을 설정하고, 프론트에서 읽는 방법
토큰 종류
1) refreshToken
- 로그인에 성공했을 때에만 만들어준다.
- 비교적 유효 기간이 조금 더 길다.
- 오센틱케이션 필터에서 하는 것은 아이디와 패스워드가 적절하게 들어왔으면, 회원이 있는지 전반적으로 확인하고, 정상적인 사용자의 경우 토큰을 발급해서 준다.
- 오직 accessToken을 발급하기 위해서 사용된다.
- 비유 : 지문
2) accessToken
- 내가 권한이 있는지 확인하기 위해서 걸러내기 위해 사용한다.
- refreshToekn을 주고, accessToken을 발급받아야 한다.
- 비교적 유효 기간이 조금 더 짧다.
- 비유 : 신분증
3) 로직
- accessToken이 만료되면, refreshToken이 있는지 물어보고, accessToken을 다시 발급 받는다.
- 다시 로그인하거나 다른 곳에서 로그인이 되면 refreshToken을 무효화 시킨다.
- refreshToken은 매 번 들어올 때마다 유효한 토큰인지, 서버에 등록되어 있는지 체크한다.
- accessToken은 유효하면 바로 넘어간다.
로그인을 하면 토큰을 저장하게끔 한다.
- 기존 방식에는 localStorage에 user_id를 저장했었다.
로그인에서 refreshToken 발급하는 법
UserDto.java
refreshToken 추가
(더 추가하기)
암호화의 종류
1) 양방향 암호화
: 열어서 내용을 확인해야 할 때
2) 단방향 암호화
: 입력한 값으로 비교만 해도 괜찮을 때
AES256Cipher
1) 암호화 할 때마다 특정 값을 넣는다. (ex. 이 예시에서는 temp_key)
- 특정 상황에 따라 키를 다르게 사용하는 경우가 많다.
- 로그인할 때 키값과 내 개인정보를 수정할 때 키값을 다르게 할 수도 있다.
2) ASE_Encoder
NowData
다음 수업
- refreshToken을 DB에 저장하기
- 토큰으로 유저 식별하기
- refreshToken 주고, accessToken 발급하기