增加 模块用户密码登录和请求 Token 能力。

This commit is contained in:
iVampireSP.com 2023-02-20 23:59:48 +08:00
parent 4d3f84bcb0
commit b442a5d9f7
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
2 changed files with 27 additions and 0 deletions

View File

@ -126,4 +126,30 @@ public function auth($token): JsonResponse
]
)) : $this->notFound();
}
public function attempt(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required|string',
'require_token' => 'nullable|boolean',
'abilities' => 'nullable|array',
]);
// 验证
$user = User::where('email', $request->input('email'))->first();
if ($user === null) {
return $this->error('用户不存在。');
}
if (password_verify($request->input('password'), $user->password) === false) {
return $this->error('密码错误。');
}
if ($request->input('require_token')) {
$user['token'] = $user->createToken('模块创建', $request->input('abilities', ['*']))->plainTextToken;
}
return $this->success($user);
}
}

View File

@ -23,6 +23,7 @@
Route::apiResource('work-orders.replies', ReplyController::class);
// 用户信息
Route::post('users/attempt', [UserController::class, 'attempt']);
Route::resource('users', UserController::class)->only(['index', 'show', 'update', 'store']);
Route::get('token/{token}', [UserController::class, 'auth']);