溫馨提示×

如何在Debian上使用Laravel Passport認證

小樊
62
2025-03-29 06:21:01
欄目: 智能運維

在Debian上使用Laravel Passport進行認證,你需要遵循以下步驟:

  1. 安裝Laravel Passport:

首先,確保你已經安裝了Composer。然后,在你的Laravel項目中運行以下命令來安裝Laravel Passport:

composer require laravel/passport
  1. 遷移數據庫:

安裝完成后,運行以下命令來創建Passport所需的數據表:

php artisan migrate
  1. 注冊Passport:

config/auth.php文件中,將api驅動更改為passport

'guards' => [
    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],
  1. 安裝Passport中間件:

app/Http/Kernel.php文件中,注冊Passport的中間件:

'api' => [
    \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],
  1. 創建路由:

routes/api.php文件中,添加以下路由以啟用Passport的授權端點:

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

Route::post('/login', 'Auth\LoginController@login');
Route::post('/logout', 'Auth\LoginController@logout')->middleware('auth:api');
Route::post('/password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail');
Route::post('/password/reset', 'Auth\ResetPasswordController@reset');
  1. 創建控制器:

使用以下命令創建一個名為LoginController的控制器:

php artisan make:controller Auth/LoginController

LoginController中,添加以下方法:

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

public function login(Request $request)
{
    $credentials = $request->only('email', 'password');

    if (Auth::attempt($credentials)) {
        $user = Auth::user();
        $token = $user->createToken('MyAppToken')->accessToken;
        return response()->json(['token' => $token], 200);
    } else {
        return response()->json(['error' => 'Invalid credentials'], 401);
    }
}

public function logout(Request $request)
{
    $request->user()->currentAccessToken()->delete();
    return response()->json(['message' => 'Logged out successfully'], 200);
}
  1. 測試認證:

現在你可以使用Postman或其他API測試工具來測試你的認證系統。首先,你需要獲取一個訪問令牌。發送一個POST請求到/login端點,包含用戶的電子郵件和密碼。如果憑據有效,你將收到一個訪問令牌。然后,在后續的請求中,將此令牌添加到Authorization頭中,以訪問受保護的資源。

這就是在Debian上使用Laravel Passport進行認證的過程。請確保你已經正確配置了所有步驟,并根據需要調整代碼。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女