Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class UserAuth implements BadNaming {
- const PASSWORD_ALGO = \PASSWORD_DEFAULT; // these should be somewhere more sensible
- const PASSWORD_OPTIONS = [];
- const AUTHENTICATE_SUCCESS = 0;
- const AUTHENTICATE_INVALID_USER = 1;
- const AUTHENTICATE_WRONG_PASSWORD = 2;
- public function authenticate($userID, $inputPassword) {
- if (!$this->userMapper->contactExists('email', $userID)) {
- return self::AUTHENTICATE_INVALID_USER;
- }
- $hashedPassword = $this->userMapper->getPasswordByID('email', $userID);
- if (!\password_verify($inputPassword, $hashedPassword)) {
- return self::AUTHENTICATE_WRONG_PASSWORD;
- }
- if (\password_needs_rehash($hashedPassword, self::PASSWORD_ALGO, self::PASSWORD_OPTIONS)) {
- $this->userMapper->updatePassword('email', $userID, $inputPassword);
- }
- return self::AUTHENTICATE_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement