49 lines
1.2 KiB
PHP
Executable File
49 lines
1.2 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Admin\Requests\Auth\LoginRequest;
|
|
use App\Admin\Requests\Auth\RegisterRequest;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Expert;
|
|
use App\Traits\ApiResponse;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
class AuthController extends Controller
|
|
{
|
|
use ApiResponse;
|
|
|
|
public function login(LoginRequest $request): JsonResponse
|
|
{
|
|
$credentials = ['password' => $request->password];
|
|
|
|
if (filter_var($request->login, FILTER_VALIDATE_EMAIL)) {
|
|
$credentials['email'] = $request->login;
|
|
} else {
|
|
$credentials['username'] = $request->login;
|
|
}
|
|
|
|
if (Auth::guard('expert')->attempt($credentials)) {
|
|
$request->session()->regenerate();
|
|
|
|
return $this->successResponse();
|
|
}
|
|
|
|
return $this->errorResponse(__('messages.incorrect_or_username_password'));
|
|
}
|
|
|
|
public function logout(Request $request): JsonResponse
|
|
{
|
|
Auth::guard('expert')->logout();
|
|
|
|
$request->session()->invalidate();
|
|
|
|
$request->session()->regenerateToken();
|
|
|
|
return $this->successResponse();
|
|
}
|
|
}
|