그누보드5 REST API - 8/28 - 토큰 > 그누보드5 개발일지

그누보드5 개발일지

그누보드5 REST API - 8/28 - 토큰 정보

그누보드5 REST API - 8/28 - 토큰

본문

 

작업 진행사항

 

- 소셜 로그인

 * hybrid Auth 라이브러리는 세션을 기준으로 중간 작업들을

저장하고있어서 이를 토큰 저장소에 맞게 변경하고있습니다.

 

변경내역

 * 토큰 만료시 HTTP 상태코드 401 을 리턴합니다.

 * 만료를 제외한 나머지 토큰오류는 HTTP 상태코드 400 으로 변경.

 

-----

그누보드 5 API 토큰인증에 관한 내용

 

API 에서는 JWT 토큰으로 인증을 하게됩니다.

토큰종류로는 만료시간이 짧은 엑세스 토큰과 엑세스 토큰을 재발급하기 위한 리프레시 토큰이 있습니다.

 

사용자가 로그인을 하게되면 서버에서는 엑세스 토큰과 리프레시 토큰, 리프레시 토큰 만료시간을 보내줍니다.

 

토큰들을 클라이언트에서 웹에서는 로컬 스토리지에 보관하고 있다가

로그인된 회원만 쓰는 API 요청을 할때 헤더에 엑세스 토큰을 같이 전송합니다.

 

990520834_1724840675.2427.png

https://api.gnuboard.net/api/docs/swagger-ui/index.php

 

API 문서에서 로그인이 필요한것은 자물쇠표시가 있습니다.

 

이 때 엑세스 토큰이 만료되면 서버에서는 HTTP 상태코드 401 을 응답합니다.

클라이언트에서는 상태코드 401 을 체크하고

보관하던 리프레시 토큰을 엑세스 토큰 재발급 API 를 호출하여 엑세스 토큰을 받아옵니다.

 

990520834_1724840895.5795.png

 

리프레시 토큰은 만료시간이 길어서 xss 공격등 토큰을 가로채는걸 걱정할 수 있는데요.

이를 방지 하기위해 리프레시 토큰을 동일한 만료기간으로 재발급하고

이전 토큰은 DB에서 삭제하여 사용불가하게 되어있습니다.

 

클라이언트는 재발급된 두 토큰을 저장한뒤 이전에 하던 요청을 진행하면 됩니다.

추천
3

댓글 0개

전체 27 |RSS
그누보드5 개발일지 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT