Skip to content

Instantly share code, notes, and snippets.

@andevsoftware
Last active February 28, 2016 19:52
Show Gist options
  • Save andevsoftware/f83627afdaf88ba3e78c to your computer and use it in GitHub Desktop.
Save andevsoftware/f83627afdaf88ba3e78c to your computer and use it in GitHub Desktop.
Phalcon REST - Username AccountType
<?php
namespace App\Auth;
use App\Constants\Services;
use Phalcon\Di;
use PhalconRest\Auth\Manager;
class UsernameAccountType implements \PhalconRest\Auth\AccountType
{
const NAME = "username";
public function login($data)
{
/** @var \Phalcon\Security $security */
$security = Di::getDefault()->get(Services::SECURITY);
$username = $data[Manager::LOGIN_DATA_USERNAME];
$password = $data[Manager::LOGIN_DATA_PASSWORD];
/** @var \User $user */
$user = \User::findFirst([
'conditions' => 'username = :username:',
'bind' => ['username' => $username]
]);
if(!$user){
return null;
}
if(!$security->checkHash($password, $user->password)){
return null;
}
return (string)$user->id;
}
public function authenticate($identity)
{
return \User::existsById((int)$identity);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment