first(); if (!$user || !Hash::check($credentials['password'], $user->password)) { throw ValidationException::withMessages([ 'email' => [__('auth.failed')], ]); } $token = $user->createToken('auth_token')->plainTextToken; return [ 'user' => $user, 'token' => $token, 'roles' => $user->getRoleNames(), 'permissions' => $user->getAllPermissions()->pluck('name'), ]; } }