/
mitallic
/
HHProfileUser
Обзор
Документация
Войти
/
mitallic
/
HHProfileUser
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/Services/AuthService.php
47 строк
1 KB
Steaves Whois
init
28 май 2025, 13:58
28 май 2025, 13:58
7a2bc65
Код
Авторство
О чём код?
<?php declare(strict_types=1); namespace App\Services; use App\DTO\UserLoginDTO; use App\Models\User; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; use Illuminate\Validation\UnauthorizedException; final readonly class AuthService { /** * Get authorized user data * @return User|null */ public function getUser(): ?User { try { /** @var User $user */ $user = Auth::user(); return $user; } catch (\Throwable $exception) { Log::error($exception->getMessage()); return null; } } /** * Authorize user by creds * @param UserLoginDTO $dto * @return string */ public function authenticate(UserLoginDTO $dto): string { try { if (!Auth::attempt(['email' => $dto->email, 'password' => $dto->password])) { throw new UnauthorizedException(); } return Auth::user()->createToken('api_token')->plainTextToken; } catch (\Throwable $exception) { Log::error($exception->getMessage()); throw new UnauthorizedException(); } } }