2016-07-25 2 views
0

jwt에 대해 읽고 있습니다. 며칠 후이 개념에 대한 아이디어를 얻었습니다. 지금 내 질문에 대한 사용자의 마녀 priim 다른 사람 다른 토큰을 사용하는 사용자 당 jwt 토큰을 만드는 것입니다. 예를 들어 시나리오에 대한클라이언트가 .net에서 다른 jwt 토큰을 사용하지 못하게하는 방법은 무엇입니까?

: 사용자가 서버에 로그인 및 수의 JWT 토큰 서버가 리소스에 액세스 할 수 있습니다.

이제 제 3자가 들어 와서 사용자 A의 jwt 토큰을 얻습니다. 이제 제 3자는이 토큰을 사용하여이 토큰을 사용하여 시스템에 로그인하지 않고 리소스를 사용할 수 있습니다.

어떻게 uniqe 사용자에 대해 공간적으로 jwt 토큰을 만들 수 있습니까?

답변

1

JWT는 'sub'필드에 사용자 식별자를 포함합니다. 단지

일단 발행이 사용자를 식별하는 데 사용할 수 있습니다, 토큰은 사용자의 자격 증명을 대체하는, 그래서 당신은 그 효과 완화 또한 토큰이 도난 될 수 방지하고 있습니다

  • 주로 HTTPS를 사용 저장하고 클라이언트의 위험을 완화하기 위해 Http 만 설정하는
  • 사용 쿠키 - - 중간 남자 인을 짧은 만료 시간
  • 설정을 방지하고 로그 아웃 한 후 클라이언트 측의 토큰
  • 제거 토큰을 회전 보조 쿠키에 액세스하는 사이드 스크립트
  • 승인되지 않은 토큰에 대한 서버 차단 목록을 유지 관리합니다. 예를 들어, 사용자가 로그 아웃 할 때 관리자가 계정을 취소 할 때도 암호를 변경하거나 사용 권한을 업데이트합니다. 저장하고 난 회전 토큰 등의 메소드 서버 블랙리스트, ....에 대한 내 의견을 들어
+0

보호 쿠키를 액세스하는 클라이언트 측 스크립트의 위험을 완화하기 위해 Http 만 설정하는

  • 사용 쿠키는 그 JWT 휴식 JWT의 데이터베이스 액세스 및 무국적자가없는 주된 인증 –

  • +1

    블랙리스트를 유지한다는 것은 상태를 알고 어떤 식 으로든 "무국적"상태를 깨뜨리는 것에 동의합니다. 또는 암호 및/또는 권한을 포함하는 토큰 자체에 해시를 만들 수 있으며 모든 요청 (데이터베이스 액세스 중 ...)을 체크인 할 수 있습니다. http://stackoverflow.com/questions/21978658/invalidating-json-web-tokens를 확인하십시오. 짧은 만료 기간을 가진 토큰을 회전시키는 것은 보안 조치입니다. 도난당한 토큰은 짧은 시간 효과가 있습니다. 귀하는 귀하의 사이트의 필요에 따라 신청할 수도 있고하지 않을 수도 있습니다. – pedrofb