Files
2020-05-11 14:43:49 +08:00

27 lines
730 B
PHP

<?php
namespace App\Classes\Modules\Accounts\Services;
use App\Classes\Exceptions\AccessUnauthorisedException;
use App\Classes\Modules\Accounts\DataTransferObjects\AuthenticationCredentialsObject;
use Tymon\JWTAuth\Facades\JWTAuth;
class AuthenticatesUser
{
/**
* @param AuthenticationCredentialsObject $object
* @return false|string
* @throws AccessUnauthorisedException
*/
public function execute(AuthenticationCredentialsObject $object){
if (! $token = JWTAuth::attempt(['email' => $object->getEmail(), 'password' => $object->getPassword()])) {
throw new AccessUnauthorisedException('These credentials do not match our records.');
}
return $token;
}
}