현재 위치: > 최신 기사 목록> ThinkPhp6에서 JWT 인증 구현 : 완전한 자습서 및 코드 예제

ThinkPhp6에서 JWT 인증 구현 : 완전한 자습서 및 코드 예제

gitbox 2025-06-18

1. JWT는 무엇입니까?

JWT (JSON Web Token)는 네트워크에서 정보를 전송하는 데 사용되는 개방 표준 (RFC 7519)입니다. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 헤더에는 토큰 유형 및 서명 알고리즘이 포함되어 있습니다. 페이로드는 전송 될 데이터를 저장하고 서명은 토큰의 진위를 확인하는 데 사용됩니다.

2. ThinkPhp6에서 JWT 사용

ThinkPhp6에서 JWT를 사용하려면 Composer.json 파일에 Think-JWT 구성 요소를 소개하여 먼저 구현해야합니다. 파일의 요구 노드에 "Think-JWT": "1.0.*"를 추가 한 다음 Composer Update 명령을 실행하여 구성 요소를 설치하십시오.

2.1 JWT 생성

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를 생성하여 클라이언트로 반환하십시오.

2.2 JWT를 확인하십시오

ThinkPhp6에서는 JWT 클래스의 확인 방법을 통해 JWT의 유효성을 확인할 수 있습니다.

        \ jwt \ jwt를 사용하십시오.

        Class UserController 확장 컨트롤러 {
            공개 기능 프로파일 () {
                // JWT를 확인하십시오
                $ jwt = 입력 ( '토큰');
                $ payload = jwt :: verify ($ jwt);
                
                return [ 'user_id'=> $ payload [ 'user_id']];
            }
        }
    

위의 코드에서 먼저 클라이언트에서 JWT를 가져온 다음 확인 방법으로 확인하십시오. 확인이 통과 된 후 JWT에서 페이로드 데이터를 얻을 수 있습니다.

3. 요약

이 기사를 통해 JWT의 기본 개념과 ThinkPhP6에서 사용하는 방법을 이해합니다. 인증을 위해 JWT를 사용하면 인터페이스의 보안을 효과적으로 향상시키고 무단 액세스를 방지 할 수 있습니다. 실제 개발에서 개발자는 프로젝트의 보안 요구를 충족시키기위한 요구에 따라 JWT 구성을 조정할 수 있습니다.