다음 튜토리얼 칼럼인 Getting Started with Laravel에서는 Laravel에서 ApiToken 인증 요청을 사용하는 방법을 소개하겠습니다. 필요한 친구들에게 도움이 되길 바랍니다!
1. 마이그레이션 파일인 데이터베이스/migrations/2014_10_12_000000_create_users_table.php를 엽니다. 사용자 테이블의 구조를 변경해야 합니다.
2. 사용자 테이블에 api_token 필드를 추가해야 합니다. 예, 적절한 위치에 행을 추가하세요
$table->string('api_token', 60)->unique();
3. php artisan migration 명령을 통해 데이터베이스를 구성하고 사용자 테이블을 생성하세요
4. 사용자 테이블에 원하는 대로 레코드를 추가하세요. api_token 필드가 123456 으로 설정되어 있으므로 사용자를 생성하고 나중에 토큰 값 123456을 사용하여 로그인할 수 있습니다.
5. 라우팅 파일로 돌아가서 테스트 경로를 추가합니다. , 그리고 laravel 미들웨어로 보호하세요
Route::group(['middleware' => ['auth.api']], function () { Route::get('/t', function () { return 'ok'; }); });
여기서는 auth.api 미들웨어를 사용하고 있습니다. 미들웨어는 아래 그림과 같이 정의되어 있습니다.
Middleware 파일에 WebToken.php를 생성한 후 Kernel.php 파일의 미들웨어
'auth.api' => \App\Http\Middleware\webToken::class,
6. 다음과 같이 방금 생성한 webToken 미들웨어 코드를 엽니다
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class webToken { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (Auth::guard('api')->guest()) { return response()->json(['code' => 401,'msg' => '未设置token']); } return $next($request); } }
코드 중 Auth::guard('api')의 api는 config 폴더에 있는 auth.php 파일입니다.
7. 완료 위 수정 후 URL 경로 /t를 사용하여 서버에 직접 요청을 시작하면 서버는 401 오류와 '토큰이 설정되지 않음'과 같은 메시지를 반환합니다. 이는 이전에 handler() 메서드에서 수행한 작업입니다. 즉, /t는 인증 미들웨어에 의해 보호됩니다. 요청이 이 미들웨어를 정상적으로 통과하려면 토큰을 제공해야 합니다.
8. 이전에 api_token 123456 데이터 조각으로 사용자 테이블에 추가했으므로 이제 서버에 다시 /t를 요청하지만 이번에는 api_token을 추가합니다. 이는
…/t?api_token=123456
정상적인 상황에서는 서버가 반환합니다. 'ok'는 인증 미들웨어가 이 요청을 통과하도록 허용한다는 의미입니다. 123456을 다른 값으로 변경하면 이 요청은 인증 미들웨어를 통과할 수 없습니다.
더 많은 laravel 프레임워크 기술 기사를 보려면 laravel튜토리얼을 방문하세요.
위 내용은 Laravel이 ApiToken을 사용하여 요청을 인증하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!