HTTP 헤더에서 JWT 토큰을 사용하여 리소스 서버에 대한 요청을 인증하고 있습니다. 리소스 서버와 인증 서버는 Azure에서 별도의 두 작업자 역할입니다.
클레임을 토큰에 저장해야하는지 또는 다른 방법으로 요청 / 응답에 첨부해야하는지에 대해 마음을 정할 수 없습니다. 클레임 목록은 서버의 데이터에 대한 액세스뿐만 아니라 클라이언트 측 UI 요소의 렌더링에도 영향을줍니다. 이러한 이유로 요청이 처리되기 전에 서버가받은 클레임을 인증하고 유효성을 검사하고 싶습니다.
클레임의 예는 CanEditProductList, CanEditShopDescription, CanReadUserDetails입니다.
JWT 토큰을 사용하려는 이유는 다음과 같습니다.
- 클라이언트 측 클레임 편집 (예 : 해킹 클레임 목록)에 대한 보호 기능이 향상되었습니다.
- 모든 요청에 대한 청구를 찾을 필요가 없습니다.
JWT 토큰을 사용하지 않으려는 이유 :
- 인증 서버는 앱 중심의 클레임 목록을 알아야합니다.
- 토큰은 해킹 엔트리의 단일 지점이됩니다.
- JWT 토큰이 앱 레벨 데이터 용이 아니라는 몇 가지 내용을 읽었습니다.
두 가지 모두 단점이있는 것 같지만이 주장을 토큰에 포함시키는 데 기울고 있으며 이전 에이 문제를 처리 한 사람들 이이 주장을 실행하고 싶습니다.
참고 : 모든 API 요청에 HTTPS를 사용하므로 토큰이 '충분히'안전 할 것 같습니다. AngularJS, C #, Web API 2 및 MVC5를 사용하고 있습니다.