-1

저는 django rest framework을 사용하여 토큰 기반 인증을 구현했습니다.
그러나 토큰은 브라우저의 개발자 도구를 사용할 때 HTTP 요청 헤더에 표시됩니다. 그리고이 토큰을 사용하여 Postman의 도움을 받아 API에서 개인 데이터를 가져올 수 있습니다. 따라서 이것이 인증을위한 안전한 방법이 아니라고 생각합니다. 내 질문은 모든 토큰 기반 인증에 대해 HTTP 요청 헤더에 표시되는 토큰입니다. 없다면, 어느 것을 사용해야하는지 말해주십시오.장고 휴식 프레임 워크 토큰 기반 인증, 토큰은 http 요청 헤더에 표시됩니다.

+1

향상된 보안을 위해 https를 사용하십시오. 헤더도 암호화됩니다. –

+0

서버용 https를 사용하지만 권한 부여 헤더가 브라우저의 개발자 콘솔에있는 http 요청 헤더에 명확하게 표시됩니다. 데이터가 네트워크를 통해 암호화되지만 헤더에도 로컬 액세스가 암호화 될 수 있다는 점을 이해합니다. –

+0

각 요청을 인증하는 방법이 있어야합니다. 토큰과 함께 http 헤더를 사용하는 것은 모든 http 요청과 함께 전송되는 쿠키를 사용하는 것보다 덜 안전하지 않습니다. –

답변

0

토큰은이 사용자의 로그인 세션에만 해당됩니다. 사용자가 로그인되어 있고 공격자가 장치에 실제로 액세스 할 수있는 경우에도 사용자 인터페이스를 통해 필요한 모든 데이터에 액세스 할 수 있습니다. 따라서 토큰을 암호화하는 것은 백엔드에 문자열로 보내지기 때문에 아무런 도움이되지 않습니다. 암호 자체보다는 암호 해시를 보내는 것과 비슷하게 해시가 새 암호가됩니다. 귀하가 할 수있는 최선의 방법은 5 분 (은행/지갑에서 사용)과 같이 일정 기간 동안 활동이 없으면 토큰을 무효화하는 것입니다. 다른 하나는 Postman 쿼리에 대한 사용자 에이전트 기반 거부입니다. 또는 가장 편집증적인 경우 장치 지문 (https://github.com/Valve/fingerprintjs)을 토큰 (로그인 중)에 매핑 한 다음 다른 장치가 동일한 토큰에 액세스하는 것을 방지 할 수 있습니다. 너무 늦지 않기를 바랍니다.