texdc / Veritas

Identity and Access Control - simplified, but not anemic [WIP]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Veritas

Identity and Access Control - simplified, but not anemic.

WIP: currently experimental only

Build Status Coverage Status

Passwords and Validation

use texdc\veritas\identity\CryptoServiceInterface;
use texdc\veritas\identity\Password;

class User
{
    /**
     * @var Password
     */
    private $password;
    
    // ...
    
    public function changePassword(string $aPassword, CryptoServiceInterface $aCryptoService)
    {
        $this->setPassword(new Password($aCryptoService->encrypt($aPassword)));
        $this->eventService->publish(new PasswordChangedEvent($this->userId));
    }
    
    protected function setPassword(Password $aPassword)
    {
        if ($this->password == $aPassword) {
            throw new IdenticalPasswordException;
        }
        $this->password = $aPassword;
    }
    
    // ...
}

About

Identity and Access Control - simplified, but not anemic [WIP]

License:MIT License


Languages

Language:PHP 98.7%Language:Shell 1.3%