[英]Lumen 5.8 Auth attempt does not exist
我是 Lumen 的新手,正在構建 RESTful API,但由於 Auth::attempt 不起作用,我現在卡住了幾個小時。 我一直在尋找任何答案,但所有結果都只是 Laravel 而不是 Lumen。
所以我創建了一個 AuthController 和 login 方法來驗證用戶,但出現錯誤。
public function login(Request $request)
{
$this->validate($request, [
'email' => 'required|string|email',
'password' => 'required|string',
]);
$credentials = $request->only('email', 'password');
if( !Auth::attempt($credentials) ) {
return response()->json([
'message' => 'Unauthorized'
], 401);
}
}
這是錯誤:“方法 Illuminate\\Auth\\RequestGuard::attempt 不存在。”
任何人都可以幫助我嗎? 謝謝!
您可以嘗試以下操作:
if (!Auth::guard('web')->attempt($credentials) {
return response()->json([
'message' => 'Unauthorized'
], 401);
}
該方法僅適用於使用 Web 中間件的路由,您能檢查一下嗎? 您可能需要編輯您的config/auth
文件。
流明護照設置:
composer require dusterio/lumen-passport
在 bootstrap/app.php 中啟用應用程序和身份驗證服務提供者
在引導文件中添加以下服務提供者
$app->register(Laravel\Passport\PassportServiceProvider::class);
$app->register(Dusterio\LumenPassport\PassportServiceProvider::class);
將 /app/Providers/AuthServiceProvider 中 auth 服務提供者的引導函數中的內容替換為:
LumenPassport::routes($this->app->router);
運行 php artisan migrate
運行 php 工匠護照:安裝
然后按照這個https://laravel.com/docs/5.8/passport#issuing-access-tokens
請記住,流明版本沒有用於授權訪問的視圖或路由,您必須在客戶端上單獨構建它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.