2017-03-27 1 views
0

구성 용 각도 프론트 엔드를 제공하기 위해 nodejs 백엔드를 실행하는 하드웨어 장치 (거의 라우터와 유사)를 구성하기 위해 웹 프론트 엔드를 개발 중입니다. JWT를 사용하여 백엔드에 대한 상태 비 저장 요청을 보호합니다. 한 가지 기능은 시간대를 처리하기 위해 로컬 시스템 시간을 설정하는 백엔드에 명령을 실행하여 프론트 엔드를 통해 시스템 시간을 설정하는 것입니다. 문제는 시간 변경이 과거 30 분 이상이되면 세션 시간 초과로 인해 사용자가 로그 아웃되는 것입니다. 그것을 해결하는 가장 좋은 방법은 무엇입니까? 내 접근 방식은 제한 시간을 무기한으로 설정하고, 시스템 시간을 변경하고 새로 고침 토큰을 사용하여 제한 시간을 다시 30 분으로 변경하는 것이 었습니다. 다른 아이디어? 감사.시스템 시간 변경 후 JWT가 새로 고침

답변

0

시스템 시간이 변경 될 수있는 경우 JWT의 만료 시간을 사용하는 것이 적합하지 않습니다. 그래서 내 옵션은 다음과 같습니다

- 사용 새로 고침 토큰

- - 모든

에 만료 시간을 사용하지 마십시오 발급 된 모든 토큰

을 취소

- 시간의 역사 다음을 계산하여 기존의 토큰을 수락 그들이 발행 된 날짜. 고유하고 증분이있는 jti 식별자를 추가하여 토큰이 발행 된시기를 알 수 있습니다. 시스템 시간 변경, 현재 JTI 값과 최대 만료 시간이

+0

감사를 초과 할 때 당신은 목록을 비울 수 있습니다

jti - time diff 

과거와 현재 시간의 차이를 저장하면, 필자가 지금 새로 고침 토큰 전략을 구현 잘 작동하는 것 같습니다. – Flobo79

0

새로 고침 토큰을 구현할 수 있습니다. 따라서 액세스 토큰이 만료 될 때마다 사용자는 새로 고침 토큰을 사용하여 새 액세스 토큰을 요청할 수 있습니다.

관련 문제