Auth 서비스는 로그인을 하고 백 엔드에 HTTP 요청을 등록할 책임이 있습니다. 요청이 성공하면 응답에는 서명된 토큰이 포함되어 있으며, 이 토큰은 base64 디코딩되고 동봉된 토큰 클레임 정보는 tokenClaims 변수에 저장됩니다. 이것은 getTokenClaims 함수를 통해 컨트롤러에 전달됩니다. JWT의 아이디어는 토큰이 클러스터의 모든 노드에서 계산하고 데이터베이스에 대한 (느린) 요청없이 확인할 수 있는 상태 비수기라는 것입니다. JWT 표준은 JSON 웹 서명(JWS) 사양을 따라 최종 서명된 토큰을 생성합니다. 인코딩된 JWT 헤더와 인코딩된 JWT 페이로드를 결합하고 HMAC SHA-256과 같은 강력한 암호화 알고리즘을 사용하여 서명하여 생성됩니다. 서명의 비밀 키는 서버에서 보유하므로 기존 토큰을 확인하고 새 토큰에 서명할 수 있습니다. 이것은 당신의 필요에 맞게 사용자 정의 할 수 있습니다. 예를 들어 다른 소유권 주장또는 맞춤 클레임을 추가하려는 경우 Base64와 비슷하지만 Url 매개 변수의 일부로 JWT를 쉽게 보낼 수 있도록 몇 가지 문자가 있습니다. 유랑위드 업 명령으로 유랑 상자를 부팅하고 유랑 ssh를 사용하여 로그온한 후 이전에 정의된 프로젝트 디렉토리로 이동합니다. 위의 예에서 /home/vagrant/코딩/jwt가 됩니다. 이제 데이터베이스에서 필요한 사용자 테이블을 만들기 위해 php 장인 마이그레이션 명령을 실행할 수 있습니다.

JWT의 컨텍스트에서 클레임은 엔터티(일반적으로 사용자)에 대한 문과 토큰 자체에 대한 추가 메타데이터로 정의할 수 있습니다. 클레임에는 전송하려는 정보와 서버가 JSON 웹 토큰 인증을 올바르게 처리하는 데 사용할 수 있는 정보가 포함되어 있습니다. 당사가 제공할 수 있는 클레임은 여러 가지가 있습니다. 여기에는 등록된 클레임 이름, 공개 클레임 이름 및 개인 클레임 이름이 포함됩니다. jwt.io RS256으로 서명된 JWT의 예를 살펴보겠습니다. 웹 토큰을 가능한 한 작게 유지하려면 공개 및 비공개 클레임 내에서 필요한 데이터만 사용하십시오. 서명된 토큰의 경우 변조되지 않도록 보호되지만 누구나 읽을 수 있습니다. 암호화되지 않는 한 JWT의 페이로드 또는 헤더 요소에 비밀 정보를 넣지 마십시오.

친구 @auth0(ID/인증 전문가)가 만든 jsonwebtoken 모듈을 사용하는 것이 좋습니다: JWT에는 헤더, 본문 및 서명의 세 부분으로 구성됩니다. 헤더에는 JWT가 인코딩되는 방법에 대한 정보가 포함되어 있습니다. 몸은 토큰의 고기 (클레임가 살고있는 곳)입니다. 서명은 보안을 제공합니다. 다음 JSON 웹 토큰 예제에서는 토큰 유효성 검사에 대해 다른 접근 방식을 취합니다.

 

Comments are closed.

Set your Twitter account name in your settings to use the TwitterBar Section.