Cartalyst\Sentinel\Sentinel::authenticate PHP Method

authenticate() public method

Authenticates a user, with "remember" flag.
public authenticate ( Cartalyst\Sentinel\Users\UserInterface | array $credentials, boolean $remember = false, boolean $login = true ) : Cartalyst\Sentinel\Users\UserInterface | boolean
$credentials Cartalyst\Sentinel\Users\UserInterface | array
$remember boolean
$login boolean
return Cartalyst\Sentinel\Users\UserInterface | boolean
    public function authenticate($credentials, $remember = false, $login = true)
    {
        $response = $this->fireEvent('sentinel.authenticating', $credentials, true);
        if ($response === false) {
            return false;
        }
        if ($credentials instanceof UserInterface) {
            $user = $credentials;
        } else {
            $user = $this->users->findByCredentials($credentials);
            $valid = $user !== null ? $this->users->validateCredentials($user, $credentials) : false;
            if ($user === null || $valid === false) {
                $this->cycleCheckpoints('fail', $user, false);
                return false;
            }
        }
        if (!$this->cycleCheckpoints('login', $user)) {
            return false;
        }
        if ($login === true) {
            $method = $remember === true ? 'loginAndRemember' : 'login';
            if (!($user = $this->{$method}($user))) {
                return false;
            }
        }
        $this->fireEvent('sentinel.authenticated', $user);
        return $this->user = $user;
    }

Usage Example

Beispiel #1
0
 /**
  * {@inheritDoc}
  */
 public function authenticate(array $data)
 {
     $this->rules = ['email' => 'required|email', 'password' => 'required'];
     $remember = false;
     if (isset($data['remember'])) {
         $remember = $data['remember'];
     }
     $this->validate($data);
     if (!($user = $this->sentinel->authenticate($data, $remember))) {
         throw new AuthenticationException(trans('dashboard::dashboard.errors.auth.incorrect'));
     }
     return $user;
 }
All Usage Examples Of Cartalyst\Sentinel\Sentinel::authenticate