在Debian上使用Laravel Passport进行认证,你需要遵循以下步骤:
首先,确保你已经安装了Composer。然后,在你的Laravel项目中运行以下命令来安装Laravel Passport:
composer require laravel/passport
安装完成后,运行以下命令来创建Passport所需的数据表:
php artisan migrate
在config/auth.php
文件中,将api
驱动更改为passport
:
'guards' => [
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
在app/Http/Kernel.php
文件中,注册Passport的中间件:
'api' => [
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],
在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');
使用以下命令创建一个名为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);
}
现在你可以使用Postman或其他API测试工具来测试你的认证系统。首先,你需要获取一个访问令牌。发送一个POST请求到/login
端点,包含用户的电子邮件和密码。如果凭据有效,你将收到一个访问令牌。然后,在后续的请求中,将此令牌添加到Authorization
头中,以访问受保护的资源。
这就是在Debian上使用Laravel Passport进行认证的过程。请确保你已经正确配置了所有步骤,并根据需要调整代码。