2 augusti, 2019 Incopia

express jwt 예제

JSON 웹 토큰은 인증에 적합하며 사용하기가 매우 쉽습니다. 튜토리얼은 우리가 nodejs 및 express를 사용하여 인증jwt를 사용하는 방법을 보여줍니다. Jwt는 모든 유형의 클레임을 포함하는 다양한 목적으로도 사용할 수 있습니다. 자습서에 사용된 jwt는 대칭 알고리즘을 사용하여 서명되지만 비대칭 알고리즘도 쉽게 사용할 수 있습니다. 비대칭 알고리즘에서 개인 키는 토큰에 서명하는 데 사용되며 공개 키는 토큰을 확인하는 데 사용됩니다. 이 기능은 여러 경로에 적용할 때 특히 유용합니다. 위의 예에서 경로는 문자열, 정규식 또는 그 중 어느 한 개의 배열일 수 있습니다. 추가 옵션을 포함한 구문에 대한 자세한 내용은 익스프레스 를 참조하십시오. 범위를 사용하면 지정된 액세스 토큰을 통해 사용자가 액세스할 수 있는 리소스를 정의할 수 있습니다. 예를 들어 사용자가 관리자 액세스 수준이 있는 경우 메시지 리소스에 대한 읽기 액세스 권한을 부여하고 관리자 액세스 수준이 있는 경우 해당 리소스에 대한 쓰기 액세스 권한을 부여하도록 선택할 수 있습니다. 익스프레스 미들웨어 함수는 요청 uri에서 경로 패턴이 일치할 때 트리거되는 함수입니다. 모든 미들웨어는 요청 및 응답 개체에 액세스할 수 있으며 다음()함수를 호출하여 후속 미들웨어 함수에 실행을 전달할 수 있습니다.

참고: 위의 예에서는 사용자 이름과 암호를 조롱하고 있지만 실제로는 데이터베이스 서버에서 이러한 세부 정보를 가져와야 합니다. 요점을 설명하기 위해, 나는이 문서에 더 많은 세부 사항을 추가 하지 자제. 유효한 JWT가 필요한 개별 경로를 보호하려면 checkJwt 익스프레스 jwt 미들웨어로 경로를 구성합니다. Auth0 계정에 원격 JWKS를 사용하도록 익스프레스 jwt 미들웨어를 구성합니다. 사용자 지정 jwt 솔루션을 작성하지 않으려면 언제든지 NPM 모듈을 사용할 수 있습니다. 먼저 익스프레스 및 JSON 웹 토큰 라이브러리를 설치합니다. 이 가이드에서는 express-jwt 미들웨어를 사용하여 토큰의 유효성을 검사하는 방법과 express-jwt-authz 미들웨어를 사용하여 적절한 범위를 확인하는 방법을 보여 주어집니다. 예를 들어 JWT 발급사에 따라 비밀이 달라지는 경우: 먼저 익스프레스 및 바디 파서 모듈이 필요하며, 새로 는 익스프레스 응용 프로그램과 en Express 라우터를 만듭니다. 마지막으로 요청 본문에서 JSON 데이터를 구문 분석할 수 있는 바디 파서 미들웨어를 추가했습니다. 요청에서 토큰을 추출하기 위한 사용자 지정 함수는 getToken 옵션으로 지정할 수 있습니다. 이 기능은 쿼리 매개 변수 또는 쿠키를 통해 토큰을 전달해야 하는 경우에 유용합니다. 이 함수에서 오류를 throw할 수 있으며 express-jwt에 의해 처리됩니다.

예를 들어, (iss, jti) 클레임 쌍이 JWT를 식별하는 데 사용되는 경우 : 로그 아웃에서 JWT를 무효화하는 방법도 흥미롭습니다. 당신은 어떤 방법을 선호합니까? 예를 들어 토큰 또는 블랙리스트 테이블을 새로 고치거나? 토큰은 해시 알고리즘 예제 sha256을 사용하여 암호화된 본문 + 머리로 구성됩니다.