我正在訪問一個PayPalController
直通路由,routes/api.php
但是當我嘗試檢查用戶是否經過身份驗證時,它回傳:
local.ERROR: Auth guard [api] is not defined.
PayPalController
:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Srmklive\PayPal\Service\Paypal;
class PayPalController extends Controller
{
public function create(Request $request)
{
// both won't work
$id = Auth::id('api');
$id = auth('api')->user()->id;
}
}
routes/api.php
:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::post('/paypal/order/create', [PayPalController::class, 'create']);
uj5u.com熱心網友回復:
如果您想使用“api”保護,請檢查您的 config/auth.php 并為您的應用添加一個 api 保護:
'guards' => [
...
'api' => [
'driver' => 'session',
'provider' => 'users',
],
],
否則,只需洗掉'api'
并將其稱為auth()
. 通過傳遞一個像'api'這樣的引數,你告訴laravel在它不存在的時候使用它,如果你只使用auth(),它將使用默認的laravel保護(web),我認為這要好得多,除非你真的需要使用另一個后衛。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/506722.html