티스토리 뷰

WEB/etc

[WEB] Refresh Token

퉁이리 2021. 12. 21. 19:38
반응형

Refresh Token

Refresh Token을 사용하면, 보안성을 보다 손쉽게 강화할 수 있다.

 

 


 

💦Refresh Token을 왜 사용할까?

Access Token은 유효기간을 가진다. 유효기간이 지나면 만료되어 해당 토큰은 더 이상 사용하지 못하게 된다. 그러면 사용자는 유효기간이 만료될 때마다 새로운 Access Token을 발급받아 서버에 요청해야 한다.

 

유효기간이 만료될 때마다 새로운 Access Token을 발급받는 건 사용자에게 매우 불편하고 귀찮은 작업이다. 그렇다고 유효기간을 늘리면 늘릴수록 보안성이 약화되고 줄이자니 발급을 그만큼 더 많이 받아야 하는 딜레마가 생긴다.

 

 

 

 

 

Refresh Token이러한 딜레마를 해결하기 위해 만들어진 토큰이다.

 

Access Token을 사용자에게 발급해줄 때 Refresh Token도 같이 발급해준다.

Refresh TokenAccess Token보다 더 긴 유효기간을 가지며,

Access Token이 만료되면 사용자에게 새로 발급해준다.

 

Refresh Token을 사용하면, Access Token의 유효기간을 더 짧게 하여 보안성을 높여도 된다.

Refresh Token이 알아서 Access Token을 발급해주기 때문이다.

 

 


🎾 Refresh Token의 동작 방식

tansfil.tistory.com/59

 

 

동작 방식

1. 사용자가 로그인 정보를 서버에 보낸다.

🔽

2. 서버는 데이터베이스에서 로그인 정보를 확인한다.

🔽

3. 확인이 되면 Access Token, Refresh Token을 발급한다.

🔽

4. 발급된 토큰들을 사용자가 받는다.

🔽

5. 사용자는 데이터를 요청할 때, Access Token을 헤더에 실어 서버에 요청을 한다.

🔽

6. 서버는 사용자가 보낸 토큰을 복호화를 통해 검증한다.

🔽

7. 검증이 완료되면 서버는 사용자에게 요청 데이터를 보내준다.

🔽

8. Access Token 만료!!!

🔽

9. 사용자가 만료된 Access Token을 헤더에 실어 서버에 요청을 한다.

🔽

10. 서버는 사용자가 보낸 토큰이 만료되었다는 것을 판별한다.

🔽

11. 사용자에게 권한이 없다고 보낸다.

🔽

12. 사용자는 다시 Access Token과 Refresh Token을 헤더에 실어 서버에 요청을 한다.

🔽

13. 서버는 사용자의 Refresh Token을 확인하고, 새로운 Access Token을 발급해준다.



 

 

 

참고 사이트

쉽게 알아보는 서버 인증 2편(Access Token + Refresh Token)

 

 

 

 

좋아요 로그인하지 않아도 누를 수 있습니다!

728x90
반응형

'WEB > etc' 카테고리의 다른 글

[WEB] RESTful API  (0) 2021.12.24
[WEB] CORS (Cross-Origin Resource Sharing)  (0) 2021.12.23
[WEB] WAS란? (Web Application Server)  (0) 2021.12.11
[WEB] SPA 개념 (Single Page Application)  (0) 2021.12.06
[WEB] AWS EC2 개념  (0) 2021.11.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함