mrjulio / rapture-auth
Rapture Authentication component
v1.0.1
2017-11-18 19:09 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-11-02 16:54:34 UTC
README
Auth component uses interfaces to create the authentication logic:
UserInterface
- user model main methods likegetId
,getName
,isAuthenticated
,isAnonymous
SourceInterface
- user fetching methodStorageInterface
- user storing (usually a session adapter)
Requirements
- PHP v5.4
Install
composer require mrjulio/rapture-auth
Quick start
class User implements UserInterface, SourceInterface { /* * SourceInterface */ /** * @param array $data Authentication data * * @return $this */ public function fetchUser($data) { $data += ['email' => null, 'password' => null]; $user = UserQuery::create()->filterByEmail($data['email'])->findOne(); if ($user && password_verify($data['password'], $user->getPassword())) { return $user; } return new self; } /* * UserInterface */ public function getId() { return $this->id; } /** * getName * * @return string */ public function getName() { return $this->getFirstname(); } /** * Check if user is anonymous * * @return bool */ public function isAnonymous() { return (int)$this->getId() == 0; } /** * Check if user is authenticated * * @return bool */ public function isAuthenticated() { return !$this->isAnonymous(); } }
About
Author
Iulian N. rapture@iuliann.ro
Testing
cd ./test && phpunit
License
Rapture PHP Authentication is licensed under the MIT License - see the LICENSE
file for details.