JWT (JSON Web Token)는 신분증 인증 및 정보 교환에 널리 사용되는 개방형 표준입니다. 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. JWT는 클라이언트와 서버간에 사용자 ID 데이터를 안전하게 통과시키는 데 사용될 수 있습니다.
PHP에 JWT 기능을 통합하는 것은 매우 간단하며 Firebase JWT 에서 제공하는 공식 PHP 라이브러리를 사용하는 것이 좋습니다. 작곡가를 통해 라이브러리 설치 :
composer require firebase/php-jwt
다음은 사용자의 기본 ID 정보를 포함하여 JWT를 생성하는 표준 방법입니다.
<?php
require_once 'vendor/autoload.php';
use Firebase\JWT\JWT;
// 키를 정의하십시오
$key = "열쇠";
// 사용자 데이터로드를 구축하십시오
$payload = array(
"iss" => "example.org",
"sub" => "user_id",
"name" => "John Doe"
);
// 생성하다 JWT
$jwt = JWT::encode($payload, $key);
echo $jwt;
?>
이 코드에서는 Firebase JWT 라이브러리를 소개하고 JWT :: Encode () 메소드를 사용하여 사용자 정보가 포함 된 JWT 문자열을 생성합니다.
사용자가 요청하면 JWT가 유효한지 확인해야합니다. 다음은 검증 샘플 코드입니다.
<?php
require_once 'vendor/autoload.php';
use Firebase\JWT\JWT;
// 그것을받은 것으로 가정합니다 JWT
$jwt = "JWT";
// 열쇠(需与생성하다时一致)
$key = "열쇠";
try {
// 확인하고 디코딩하십시오 JWT
$decoded = JWT::decode($jwt, $key, array('HS256'));
// 출력 디코딩 된 사용자 정보
echo "사용자ID: " . $decoded->sub . "<br>";
echo "사용자名: " . $decoded->name . "<br>";
} catch (Exception $e) {
echo '확인이 실패했습니다:' . $e->getMessage();
}
?>
이 코드에서는 클라이언트가 통과 한 JWT를 수신하고 지정된 키를 통해 서명 검증을 수행하고 JWT :: Decode () 메소드를 사용하여 사용자 정보를 추출합니다. 토큰이 유효하지 않으면 예외가 발생하고 오류 메시지가 출력됩니다.
JWT를 사용하면 PHP 응용 프로그램이보다 안전하게 인증 및 데이터를 전송할 수 있습니다. Firebase JWT PHP 라이브러리를 통해 개발자는 토큰 기반 보안 인증 메커니즘을 빠르게 통합하여 가벼운 효율적인 권한 관리를 달성 할 수 있습니다.