安装套件cmd执行以下
composer require laravel/passport
在config/app.php
档案中到providers
配置文件数组中注册 Passport 服务
Passport 服务提供者在框架中注册了自己的数据库迁移目录
所以要进行migrate
php artisan migrate
create "personal access" and "password grant"
php artisan passport:install
加入身份验证防护选项
到config\auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
'hash' => false,
],
],
注册颁发访问令牌和撤销访问令牌、客户端和个人访问令牌所需的路由
到app\Providers\AuthServiceProvider.php
public function boot()
{
$this->registerPolicies();
Passport::routes(); // 加上
}
app\Models\User.php
use Laravel\Passport\HasApiTokens;
use HasApiTokens, HasFactory, Notifiable;
php artisan make:controller AuthController.php
新增登入登出及注册function
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class AuthController extends Controller
{
public function signup(Request $request)
{
$validateData = $request->all();
$user = new User([
'name' => $validateData['name'],
'email' => $validateData['email'],
'password' => bcrypt($validateData['password']),
]);
$user->save();
return response('success', 201);
}
public function login(Request $request)
{
$validateData = $request->validate([
'email' => 'required|string|email',
'password' => 'required|string'
]);
if (!Auth::attempt($validateData)){
return response('授权失败', 401);
}
$user = $request->user();
$tokenResult = $user->createToken('Token');
$tokenResult->token->save();
return response(['token'=> $tokenResult->accessToken]);
}
public function logout(Request $request)
{
$request->user()->token()->revoke();
return response(
["message" => "成功登出"]
);
}
}
到web.php
设定路由
Route::post('/signup', 'AuthController@signup'); // 注册
Route::post('/login', 'AuthController@login'); // 登入
Route::group(['middleware'=>'auth:api'], function(){
Route::get('/logout', 'AuthController@logout');
});
首先注册
注册成功後登入取得token
将token复制到Bearer Token
复制完成後才能够登出,登出後token就失效罗
可以举一反三,将产品路由放置到auth路由内,这样只有登入的人才可以取得产品资讯
<<: [Day30]C# 不鸡础观念- Install Tailwind Css with ASP.NET MVC5
>>: ASP.NET MVC 从入门到放弃(Day26)-PagedList分页套件介绍
Day 16 - 进行影像辨识训练 在进行训练的过程中,我们可能因为某些关系而中断训练,可能是网路断...
动机 决定题目的动机是,从最早开始决定就读资讯相关就想着要在未来踏入电脑游戏产业,而作为许多初学者最...
KMS key建立 先决条件 你的帐号必须要有几个IAM的Policy,包含kms:CreateKe...
Step 1: 蒐集数据 要先将自己需要的数据下载好,并且确认资料格式而去做不同的处理 Step ...
Service 就像是在Windows 设计程序中的「背景运作」系统服务类型的程序,我们可以设计具有...