>  기사  >  백엔드 개발  >  Lithe에 JWT 미들웨어 통합

Lithe에 JWT 미들웨어 통합

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-05 01:30:02396검색

Integrating the JWT Middleware in Lithe

이 게시물에서는 JWT(JSON Web Tokens) 미들웨어를 Lithe에 통합하여 API에 강력하고 안전한 인증을 제공하는 방법을 알아봅니다. JWT를 사용하면 사용자를 인증하고 민감한 경로를 간단하고 효율적으로 보호할 수 있습니다.

JWT란 무엇입니까?

JSON 웹 토큰(JWT)은 당사자 간에 정보를 JSON 개체로 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 표준(RFC 7519)입니다. 이러한 토큰은 인증에 사용될 수 있으므로 서버에 정보를 저장할 필요 없이 사용자 세션을 유지할 수 있습니다. JWT는 헤더, 페이로드, 시그니처 세 부분으로 구성됩니다.

1단계: 환경 설정

  1. Lithe 설치 먼저 Lithe를 아직 설치하지 않았다면 설치하세요. 터미널에서 다음 명령을 실행합니다.
composer create-project lithephp/lithephp project-name
cd project-name

2단계: JWT 미들웨어 설치

  1. JWT 패키지 설치 JWT 미들웨어를 사용하려면 lithemod/jwt 패키지를 설치해야 합니다. 실행하다:
composer require lithemod/jwt
  1. 애플리케이션 시작 기본 파일 src/App.php를 열고 다음 코드를 추가하여 애플리케이션을 시작합니다.
use function Lithe\Orbis\Http\Router\router;

$app = new \Lithe\App;

$app->use('/api', router(__DIR__ . '/routes/api'));

$app->listen();

3단계: JWT로 경로 보호

  1. 보호 경로 생성 Lithe 프로젝트에서 인증이 필요한 경로를 생성할 수 있습니다. 예를 들어 src/routes/api.php라는 파일을 만들고 다음을 추가합니다.
use Lithe\Http\{Request, Response};
use function Lithe\Orbis\Http\Router\{get};

$auth = new \Lithe\Auth\JWT();

get('/protected', $auth, function(Request $req, Response $res) {
    return $res->json(['message' => 'This is a protected content!']);
});

4단계: JWT 토큰 생성

  1. 로그인 경로 생성 사용자가 JWT 토큰을 얻을 수 있는 인증 경로를 만듭니다. 동일한 파일 src/routes/api.php에 다음을 추가합니다:
use Lithe\Http\{Request, Response};
use function Lithe\Orbis\Http\Router\{post};

post('/login', function(Request $req, Response $res) {
    $body = $req->body(); // Assuming the request body contains 'username' and 'password'

    // Here you should validate the user's credentials (simplified example)
    if ($body->username === 'admin' && $body->password === 'password') {
        $user = ['id' => 1]; // Example user
        $token = (new \Lithe\Auth\JWT())->generateToken($user);
        return $res->send(['token' => $token]);
    }

    return $res->status(401)->json(['message' => 'Invalid credentials']);
});

최종 고려 사항

이를 통해 JWT 미들웨어를 Lithe에 성공적으로 통합하여 안전한 인증과 민감한 경로 보호가 가능해졌습니다. JWT를 사용할 때 JWT 객체를 인스턴스화할 때 첫 번째 매개변수 new JWT('your_secret_key')로 전달하여 보안 및 비밀 키를 정의해야 한다는 점을 기억하는 것이 중요합니다. 이 키는 사기를 방지하기 위해 복잡하고 비밀로 유지되어야 합니다.

이제 필요에 따라 애플리케이션을 확장하고 토큰 취소, 세션 관리 등의 추가 기능을 구현할 수 있습니다.

JWT에 대해 더 자세히 알아보려면 여기에서 공식 문서를 확인하세요.

댓글로 여러분의 경험과 질문을 자유롭게 공유해주세요!

위 내용은 Lithe에 JWT 미들웨어 통합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.