[Laravel] Passportを使用したBearer token認証[4]

今回はPHPのLaravelフレームワークのPassportを使用したBearer token認証の方法について紹介します。
本記事は前回の「[Laravel] Passportを使用したBearer token認証[3]]」の続きとなります。
今回は前回追加した認証テスト用ユーザーを使用してBearer tokenの発行と認証のテストをおこなっていきたいと思います。

Bearer tokenの発行と認証のテスト

Bearer tokenの発行と認証のテストをおこなうために「api.php」を以下のように編集をおこないます。

<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Route::get('/test', function(){
    $user = App\User::find(1);
    $token = $user->createToken('')->accessToken;
    return response()->json(['token' => $token]);
});

上記のように編集をおこなうことでBearer tokenの発行および認証の確認が可能です。
今回は確認用ツールとして、Postmanを使用します。

Bearer tokenの発行

http://localhost/passporttest/public/api/test
上記URLにアクセスすることでBearer tokenが発行されます。
今回のサンプルではアクセスするだけで、すぐさまBearer tokenの発行をおこなっておりますが、実際のプロジェクトで使用する場合は、usersテーブルのID/PW照合処理などを挟んだ上でBearer tokenの発行をおこなうことになります。

上図のようにBearer tokenが発行されました。

Bearer tokenの認証

http://localhost/passporttest/public/api/user
上記URLをアクセスすることでBearer tokenによる認証の可否の確認がおこなえます。
Bearer tokenによる認証がOKの場合は、登録ユーザーの情報を返します。認証がNGの場合はExceptionが発生します。


■認証がOKの場合の例:



■認証がNGの場合の例:

Bearer tokenがヘッダに設定されていない場合や、サーバーから発行されたBearer tokenと異なる文字列のtokenがセットされている場合は認証NGとなります。

金曜日担当: nishida



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム