|
- <?php
-
- namespace App\Http\Controllers\Web\Login;
-
- use App\Codes\UserRole;
- use App\Http\Controllers\Web\WebController;
- use App\Models\User;
- use App\Repositories\MeRepository;
- use Illuminate\Foundation\Auth\AuthenticatesUsers;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
-
- class LoginController extends WebController
- {
- public function name(): string
- {
- return "ログイン";
- }
-
- public function description(): string
- {
- return "ログインを行う";
- }
-
- use AuthenticatesUsers;
-
- public function __construct(LoginParam $param)
- {
- $this->param = $param;
- }
-
- public function param(): LoginParam
- {
- return $this->param;
- }
-
- protected function run(Request $request): JsonResponse
- {
- // 取得したユーザ情報を登録しログインを行う
- $param = $this->param();
-
-
- $user = User::whereEmail($param->email)->first();
- if ($user === null) {
- return $this->failedResponse();
- }
-
- if (Auth::attempt([
- $this->username() => $param->email,
- 'password' => $param->password,
- ])) {
-
- $user = Auth::user();
-
- return $this->successResponse();
- } else {
- return $this->failedResponse([], '認証失敗');
- }
- }
- }
|