라라벨 JWT 삭제
머리말
웹 개발을 위해 Laravel과 JWT를 사용하는 과정에서 JWT를 삭제하는 상황이 발생할 수 있습니다. 이번 글에서는 Laravel 프레임워크에서 JWT를 삭제하는 방법을 소개하겠습니다.
JWT 삭제의 필요성
JWT는 사용자 인증 및 승인 문제를 매우 잘 해결하지만 경우에 따라 JWT를 삭제해야 할 수도 있습니다. 그 이유는 다음과 같습니다.
- 보안 문제: 손상된 JWT는 심각한 보안 취약성을 초래할 수 있습니다.
- 남용 문제: 애플리케이션이 사용자 활동에 대한 데이터를 수집하는 경우 사용자가 로그아웃하거나 애플리케이션을 종료할 때 데이터 수집을 중지하려면 JWT를 제거해야 할 수도 있습니다.
- 디버깅의 경우: JWT를 제거하면 사용자의 로그인 흐름을 다시 시뮬레이션하는 데 도움이 될 수 있습니다.
JWT 삭제 단계
JWT를 삭제하려면 다음 세 단계를 수행하세요.
- JWT 취소: JWT를 취소하여 유효하지 않게 만들 수 있습니다. 이를 달성하려면 저장된 JWT의 블랙리스트를 유지해야 합니다.
- JWT 유효 기간 수정: 잠재적으로 도난당한 JWT가 더 빨리 만료되도록 JWT의 유효 기간을 더 짧은 시간으로 설정할 수 있습니다.
- JWT 삭제: 사용자에게 JWT를 수동으로 삭제하도록 요청하거나 코드를 작성하여 삭제할 수 있습니다.
이 단계를 더 자세히 설명하겠습니다.
JWT 취소
JWT 취소를 위해서는 JWT 블랙리스트를 유지해야 합니다. 사용자가 로그아웃하거나 애플리케이션을 종료하면 해당 사용자의 JWT를 블랙리스트에 추가합니다. 사용자가 이 JWT를 사용하여 애플리케이션에 액세스하려고 시도하면 애플리케이션은 JWT가 블랙리스트에 있는지 확인합니다. 그렇다면 사용자는 애플리케이션에 들어갈 수 없습니다. 이를 달성하기 위한 단계는 다음과 같습니다.
1단계: 미들웨어 생성
"JwtBlacklist"라는 미들웨어를 생성합니다.
php artisan make:middleware JwtBlacklist
2단계: 코드 작성
미들웨어의 핸들 메소드에 다음 코드를 작성합니다.
public function handle($request, Closure $next) { $token = $request->bearerToken(); if(auth()->check()){ auth()->logout(); JWTAuth::invalidate(JWTAuth::getToken()); return response()->json(['message' => 'Logout successful']); }elseif($token){ try { JWTAuth::parseToken()->authenticate(); JWTAuth::invalidate(JWTAuth::getToken()); return response()->json(['message' => 'Logout successful']); } catch (JWTException $e) { // ignore errors } } return $next($request); }
3단계: 미들웨어 등록
app/Http/Kernel의 $routeMiddleware 배열에 미들웨어를 등록합니다. php 파일.
'jwt.blacklist' => AppHttpMiddlewareJwtBlacklist::class,
JWT 유효 기간 수정
JWT는 헤더(Base64로 인코딩된 JSON 개체), 페이로드(Base64로 인코딩된 JSON 개체), 서명의 세 부분으로 구성됩니다. 따라서 로드에서 유효 기간을 변경할 수 있습니다.
Laravel/JWT에서는 다음 코드를 사용할 수 있습니다.
public function login(Request $request) { $credentials = $request->only('email', 'password'); if ($token = JWTAuth::attempt($credentials, ['exp' => Carbon::now()->addHours(24)->timestamp])) { return response()->json(['message' => 'Success', 'token' => $token]); } return response()->json(['error' => 'Unauthorized'], 401); }
위 코드에서는 JWT의 유효 기간을 24시간으로 설정했습니다.
JWT 삭제
사용자에게 JWT를 수동으로 삭제하도록 요구하는 경우 사용자에게 이 정보를 명확하게 알려야 합니다. 사용자가 JWT를 삭제할 수 있도록 로그아웃 작업에 대한 버튼이나 링크를 제공할 수 있습니다.
코드를 작성하여 JWT를 삭제하려면 컨트롤러에 다음 코드를 추가하면 됩니다.
public function logout(Request $request) { JWTAuth::invalidate(JWTAuth::getToken()); return response()->json(['message' => 'Logout successful']); }
이 컨트롤러는 사용자가 로그아웃 버튼을 클릭하면 JWT를 삭제합니다.
결론
이 글에서는 Laravel과 JWT에서 JWT를 삭제하는 방법을 설명합니다. JWT의 유효 기간을 취소, 수정하고 JWT를 삭제하면 됩니다. 궁금하신 점이나 문의사항이 있으신 경우 댓글란에 메시지를 남겨주시면 최대한 빨리 답변해 드리겠습니다.
위 내용은 라라벨 JWT 삭제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 강력한 Laravel Restful API를 구축하는 사람들을 안내합니다. 프로젝트 설정, 리소스 관리, 데이터베이스 상호 작용, 직렬화, 인증, 인증, 테스트 및 중요한 보안 모범 사례를 다룹니다. 확장 성 도전 해결

이 기사는 작곡가를 사용하여 최신 Laravel 프레임 워크를 설치하기위한 포괄적 인 안내서를 제공합니다. 전제 조건, 단계별 지침, 일반적인 설치 문제 (PHP 버전, 확장, 권한) 및 Minimu에 대해 자세히 설명합니다.

이 기사는 Laravel-Admin 사용자에게 메뉴 관리를 안내합니다. Laravel의 저자를 사용한 사용자 역할 및 권한을 기반으로하는 메뉴 사용자 정의, 대규모 메뉴 (분류, 모듈화, 검색) 및 동적 메뉴 생성을 다룹니다.

이 기사는 Laravel에서 OAUTH 2.0 인증 및 승인을 구현하는 자세한 내용입니다. 리그/OAUTH2-SERVER 또는 제공자 별 솔루션과 같은 패키지를 사용하여 데이터베이스 설정 강조, 클라이언트 등록, 인증 서버 Configu

이 기사는 Laravel 개발자가 올바른 버전을 선택하도록 안내합니다. 안정성 및 보안을위한 최신 장기 지원 (LTS) 릴리스를 선택하는 것의 중요성을 강조하면서 최신 버전이 고급 기능을 제공한다는 것을 인정합니다.

이 기사에서는 Laravel에서 사용자 정의 검증 규칙을 작성하고 사용하여이를 정의하고 구현하는 단계를 제공합니다. 재사용 성과 특이성과 같은 이점을 강조하고 Laravel의 검증 시스템을 확장하는 방법을 제공합니다.

이 기사는 클라우드 네이티브 환경에서 Laravel을 배포하기위한 모범 사례에 대해 설명하고 확장 성, 신뢰성 및 보안에 중점을 둡니다. 주요 문제로는 컨테이너화, 마이크로 서비스, 무국적 설계 및 최적화 전략이 포함됩니다.

이 기사는 구성 요소를 사용하여 Laravel에서 재사용 가능한 UI 요소를 작성하고 사용자 정의하여 조직을위한 모범 사례를 제공하고 패키지 강화를 제안합니다.
