Laravel API에서 tymon/jwt-auth 토큰 업데이트
P粉798010441
P粉798010441 2023-08-14 14:35:54
0
2
501
<p>나는 Laravel API를 가지고 있고 <code>tymon/jwt-auth</code>를 설치했습니다. 사용자에 로그인하고 토큰을 얻으려면 다음 코드를 사용합니다. </p> <pre class="brush:php;toolbar:false;">if (! $token = auth()->attempt($request->only('email', 'password'), true)) { 던져 ValidationException::withMessages([ '이메일' => '잘못된 자격 증명', ]); } 새로운 TokenResource([ '토큰' => $토큰, '사용자' => $사용자, ]); </pre> <p>또한 이전 토큰을 무효화하고 새 토큰을 발행하도록 되어 있는 <code>새로 고침 토큰</code>에 대한 엔드포인트도 있습니다. 문서에 따르면 다음 코드를 추가했습니다. </p> <pre class="brush:php;toolbar:false;">새 TokenResource([ '토큰' => 인증()->새로고침(), '사용자' => 인증()->사용자(), ]); </pre> <p>문제는 현재 토큰으로 엔드포인트에 액세스하면 새 토큰이 반환되지만 이전 토큰은 여전히 ​​유효하다는 것입니다. </p> <p>새로 고침 토큰을 무효화하는 방법이 있나요? </p>
P粉798010441
P粉798010441

모든 응답(2)
P粉557957970

이것이 기본 동작입니다. 따라서 원하는 결과를 얻으려면 해당 항목을 블랙리스트에 추가할 수 있습니다. 사용자가 토큰을 사용하려고 하면 해당 토큰이 블랙리스트에 있는지 확인할 수 있습니다. 그렇다면 거절하시면 됩니다.

토큰이 블랙리스트에 있는지 확인하는 미들웨어를 생성하고 해당 미들웨어를 토큰 검증이 필요한 경로에 적용하면 이를 달성할 수 있습니다.

미들웨어:

으아악

그러나 시스템에서 실제로 필요한 경우에만 이 작업을 수행해야 합니다.

P粉768045522

토큰을 생성한 후에는 수동으로 만료할 수 없습니다. 이것이 토큰이 작동하는 방식입니다. 토큰을 생성하면 만료될 때까지 유효하지만 토큰 블랙리스트를 생성할 수 있으며 토큰을 새로 고칠 때마다 첫 번째 토큰을 블랙리스트에 추가하고 토큰의 수명을 낮추는 것도 고려해 보세요(충분히 낮은 경우). 자동 만료 메커니즘을 사용할 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!