簡體   English   中英

當我嘗試調用 API 時,Laravel Auth()->user()->id 是 null

[英]Laravel Auth()->user()->id is null when I try to call API

抱歉,我還是 Laravel 的新手。我有一個 Laravel 應用程序,它有一個 API 路由,它應該請求已登錄人員的計時器,但它總是返回 null。

這是我的App\Http\Controllers\Api\TimerController.php

public function index(){
        dd(Auth()->user()->id);
        return Timer::where('userID', Auth()->user()->id)->first();
    }

我的routes\api.php

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

Route::get('timer', 'App\Http\Controllers\Api\TimerController@index');

在此之后,我有一個 vue 前端應用程序來處理它接收到的數據。 但是我真的只想通過 API 提供登錄人員數據。 我是否遺漏了什么,阻止我檢查我是否登錄? 因為在其他控制器中我可以使用Auth()->user()->id檢查一個人的登錄,但在這個控制器中不行。

當 Sanctum 無法驗證您的請求時,您將獲得授權用戶 ID null。 所以這是一個令牌問題。 在應該在 bootstrap.js 文件中的 axios 代碼下添加這一行。

axios.defaults.withCredentials = true;

如果您在應用程序外部進行 API 調用並收到錯誤,請在將進行調用的 function 中將此值設置為 false。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM