JWT 사양은 페이로드와 전송 방법 만 설명하지만 인증 프로토콜을 열어두고 유연성을 허용하지만 불행히도 유연성은 반 패턴 및 잘못된 설계로 이어질 수 있습니다.
JWT 인증을 위해 잘 생각되고 테스트 된 엔터프라이즈 패턴을 찾고 있는데 사용하거나 적용 할 수 있지만 완전한 것을 찾지 못했습니다.
내가 생각한 것은 :
- Authorization 헤더가 충족되지 않거나 JWT 토큰이 유효하지 않거나 만료 된 경우 HTTP 401을 전송하십시오.
- 인증하려면 / login REST 채널을 사용하고 사용자 이름과 비밀번호를 JSON 객체로 보냅니다.
- 토큰을 유지하려면 / keepalive REST 채널을 사용하고 N (5) 분마다 호출하고 새 JWT 토큰을 수신하고 각 호출 후 기존 토큰을 교체하십시오 (M (15) 분 후에 토큰이 만료 됨)
그러나 나를 방해하는 것은 그 / keepalive 채널의 필요성입니다. 반면에 사용자가 자리를 비운 경우 (keepalive를 원할 경우 결정이 아직 충족되지 않은 경우) 인증이 만료되는 것을 막을 수 있습니다. 물론 추가 전화 및 프로토콜에 대한 추가 합병증입니다. 흥미로운 것은 서버가 자동으로 토큰을 연장한다는 것입니다. 세션 기반 환경에서는 타임 스탬프를 재설정하여 발생하지만 여기서는 서버가 매번이 아니라 매번 새 토큰을 보내야하지만 토큰이 R (예 : 10) 분 안에 만료 될 것입니다. 그러나 응답 본문에 배치하면 JSON 응답 프로토콜을 수정해야하므로 (솔루션이 투명하고 투명하지 않습니다) 클라이언트가 처리 할 수있는 추가 HTTP 헤더를 배치하는 것이 반드시 좋은 패턴은 아닙니다. 나는'
오픈 포인트에 응답하는 준비된 엔터프라이즈 패턴이 있습니까? 프로토콜 초안이 신뢰할만한 아이디어입니까? 처음부터 디자인보다 준비된 것을 사용하고 싶습니다.