JWT (JSON Web Token)는 네트워크에서 정보를 전송하는 데 사용되는 개방 표준 (RFC 7519)입니다. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 헤더에는 토큰 유형 및 서명 알고리즘이 포함되어 있습니다. 페이로드는 전송 될 데이터를 저장하고 서명은 토큰의 진위를 확인하는 데 사용됩니다.
ThinkPhp6에서 JWT를 사용하려면 Composer.json 파일에 Think-JWT 구성 요소를 소개하여 먼저 구현해야합니다. 파일의 요구 노드에 "Think-JWT": "1.0.*"를 추가 한 다음 Composer Update 명령을 실행하여 구성 요소를 설치하십시오.
ThinkPhp6에서 JWT는 JWT 클래스를 통해 생성 될 수 있습니다. 먼저 JWT 관련 구성 항목이 포함 된 JWT.php 구성 파일을 작성해야합니다.
반품 [ // 서명 키 '비밀'=> 'my_secret', // 만료 시간, 단위는 몇 초이고, 기본값은 1 시간 '만료'=> 3600, ];
그런 다음 컨트롤러에 JWT 클래스를 소개하고 생성 메소드를 사용하여 JWT를 생성하십시오.
\ jwt \ jwt를 사용하십시오. Class UserController 확장 컨트롤러 { 공개 기능 로그인 () { // 사용자 이름과 비밀번호 확인 ... // JWT를 생성합니다 $ payload = [ 'user_id'=> $ user-> id ]; $ jwt = jwt :: create ($ payload); 반환 [ '토큰'=> $ jwt]; } }
위의 코드에서 먼저 사용자 이름과 비밀번호를 확인하고 확인 후 JWT를 생성하여 클라이언트로 반환하십시오.
ThinkPhp6에서는 JWT 클래스의 확인 방법을 통해 JWT의 유효성을 확인할 수 있습니다.
\ jwt \ jwt를 사용하십시오. Class UserController 확장 컨트롤러 { 공개 기능 프로파일 () { // JWT를 확인하십시오 $ jwt = 입력 ( '토큰'); $ payload = jwt :: verify ($ jwt); return [ 'user_id'=> $ payload [ 'user_id']]; } }
위의 코드에서 먼저 클라이언트에서 JWT를 가져온 다음 확인 방법으로 확인하십시오. 확인이 통과 된 후 JWT에서 페이로드 데이터를 얻을 수 있습니다.
이 기사를 통해 JWT의 기본 개념과 ThinkPhP6에서 사용하는 방법을 이해합니다. 인증을 위해 JWT를 사용하면 인터페이스의 보안을 효과적으로 향상시키고 무단 액세스를 방지 할 수 있습니다. 실제 개발에서 개발자는 프로젝트의 보안 요구를 충족시키기위한 요구에 따라 JWT 구성을 조정할 수 있습니다.