背景
所以我routes/api.php在 Laravel 中創建了一個安全流程,使用auth:sanctum這樣的移動 API:
Route::middleware('auth:sanctum')->group(function () {
Route::get('profile', [UserController::class, 'profile']);
Route::post('profile_update', [UserController::class, 'updateProfile']);
Route::post('logout', [UserController::class, 'logout']);
});
我知道能夠訪問其中的 API,然后我需要一個PersonalAccessToken可以像這樣生成的 API:
$user = M_CRM_CUSTOMER::where('indexs', $user_indexs)->first();
$tokenResult = $user->createToken($request->mobile)->plainTextToken;
代碼將在其中填充表中的記錄,該personal_access_tokens表在初始 Laravel 遷移中自動提供服務
Schema::create('personal_access_tokens', function (Blueprint $table) {
$table->id();
$table->morphs('tokenable');
$table->string('name');
$table->string('token', 64)->unique();
$table->text('abilities')->nullable();
$table->timestamp('last_used_at')->nullable();
$table->timestamp('expires_at')->nullable();
$table->timestamps();
});
案子
從技術上講,只要 Token 在資料庫中或只要它沒有過期,那么我們就可以訪問/使用它針對組中的 API,對嗎?

如果您嘗試使用 Postman 訪問組中的 API,它將起作用。
現在,如果用戶撤銷令牌,使用:
$token = $request->user()->tokens()->delete();
那么如果我們嘗試使用 Postman 訪問組中包含的 API,就會導致Laravel 登錄頁面以 HTML 代碼的形式顯示失敗。

也許對于網路用戶來說,這很有幫助且可見,但對于移動 API 用戶呢?
肯定會出錯。
期望
我的觀點是我如何知道用戶是否已通過 Sanctum身份驗證或PersonalAccessToken ?這樣我就可以創建一個簡單的回傳訊息,以防用戶未通過身份驗證。
試試 1
可能因為我使用的是auth:sanctum,我無法使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/526432.html
