REST 서비스에는 많은 지정이 없지만 중요한 것은 상태의 부족입니다. 이는 서버가 세션이 좋은 예로 클라이언트 상태를 유지하지 않음을 의미합니다. 따라서 서버는 클라이언트가 만든 첫 번째 요청인 것처럼 각 요청에 회신합니다. 그러나 현재도 많은 구현에서 여전히 표준 웹 사이트 아키텍처 디자인에서 상속되는 쿠키 기반 인증을 사용합니다. REST의 무국적 접근 방식은 세션 쿠키를 보안 관점에서 부적절하게 만들지만 그럼에도 불구하고 여전히 널리 사용됩니다. 필요한 상태 비저장을 무시하는 것 외에도 단순화된 접근 방식은 예상되는 보안 절충안으로 나타났습니다. 웹 서비스에 사용되는 WS-Security 표준에 비해 REST 서비스를 만들고 사용하는 것이 훨씬 쉬우므로 편리함이 지붕을 통과했습니다. 트레이드 오프는 매우 슬림 보안; 세션 하이재킹 및 교차 사이트 요청 위조(XSRF)는 가장 일반적인 보안 문제입니다. 이 예제는 매우 기본적이며 두 가지 정적 메서드가있는 src / main / java / JWTDemo.java 클래스 파일을 포함합니다. 교활하게도 이 두 가지 방법은 JWT를 만들고 JWT를 디코딩합니다. 아래첫 번째 방법을 살펴보십시오.

JWT는 JSON 개체의 인코딩된 표현입니다. JSON 개체는 이름이 문자열이고 값이 임의JSON 값인 0개 이상의 이름/값 쌍으로 구성됩니다. JWT는 이러한 정보를 읽을 수 없는(예: 암호화됨), 수정할 수 없는(즉, 서명됨) 및 URL 안전(예: Base64 인코딩)으로 신뢰할 수 있는 동안 투명(예: URL)으로 이러한 정보를 전송하는 데 유용합니다. Baeldung은 자바와 JWT에 대한 깊이 튜토리얼꽤 좋은 있습니다. 추가 크레딧을 위해 예제 프로젝트에서 JUnit 테스트를 실행할 수 있습니다. 세 가지 테스트가 있으며 JJWT 라이브러리에서 몇 가지 기본 기능을 보여 줍니다. 첫 번째 테스트는 유효한 JWT를 만들고 성공적으로 디코딩하는 행복한 경로를 보여줍니다. 두 번째 테스트는 완전히 가짜 문자열을 JWT로 디코딩하려고 할 때 JJWT 라이브러리가 어떻게 실패하는지 보여줍니다. 마지막 테스트는 변조된 JJWT가 디코딩JWT() 메서드를 사용하여 시그니처예외를 throw하는 방법을 보여 주며, 위에서 설명한 대로 프로젝트를 실행 중인 경우 아래의 JWT 예제가 프로젝트의 응답과 일치되도록 다음을 실행합니다. JWT (JSON 웹 토큰)에 대한 Java 지원은 광범위한 사용자 지정, 종속성을 해결하는 시간 손실 및 간단한 JWT를 조립하기 위한 코드 페이지와 같은 많은 작업이 필요했습니다.

이젠 안 그래! JWT는 인증 메커니즘, URL 안전 인코딩, 개인 데이터 공유, 상호 운용성, 데이터 만료 등 다양한 용도를 가질 수 있습니다. JWT를 사용하는 방법에 관계없이 JWT를 구성하고 확인하는 메커니즘은 동일합니다. 자바 프로젝트 그레이트에 대한 JSON 웹 토큰을 사용하면 이를 매우 쉽게 달성 할 수있는 방법을 알아 봅시다. 알았어요? 지금 당신은 JJWT와 토큰을 만들 필요가! 이 자습서에서는 기존 JWT 라이브러리를 사용하고 있습니다. 자바 JWT (일명, JJWT)는 레 헤이즐 우드 (아파치 시로에 수석 커밋, 스톰 패스에서 전 공동 설립자 및 CTO, 현재 옥타의 자신의 수석 건축가에 의해 만들어진), JJWT는 JWT 생성 및 검증을 단순화 자바 라이브러리입니다. 그것은 독점적으로 아파치 2.0 라이센스의 조건에 따라 JWT, JWS, JWE, JWK 및 JWA RFC 사양 및 오픈 소스를 기반으로합니다. 라이브러리는 또한 사양에 몇 가지 좋은 기능을 추가, JWT 압축 및 클레임 적용 등.

2010 © Copyright Fundacja Projekt Kultura