示例#1
0
 /**
  * authenticate
  *
  * @param Credential $credential
  *
  * @return  integer
  */
 public function authenticate(Credential $credential)
 {
     $loginName = $this->warder->getLoginName();
     if (!$credential->{$loginName} || !$credential->password) {
         $this->status = Authentication::EMPTY_CREDENTIAL;
         return false;
     }
     /** @var UserData $user */
     $user = User::get(array($loginName => $credential->{$loginName}));
     if ($user->isNull()) {
         $this->status = Authentication::USER_NOT_FOUND;
         return false;
     }
     if (!UserHelper::verifyPassword($credential->password, $user->password)) {
         $this->status = Authentication::INVALID_PASSWORD;
         return false;
     }
     $credential->bind($user);
     $this->status = Authentication::SUCCESS;
     return true;
 }
示例#2
0
 /**
  * processGithub
  *
  * @param \Hybrid_Provider_Adapter $adapter
  * @param Credential               $credential
  *
  * @return  Credential
  */
 protected function processGitHub(\Hybrid_Provider_Adapter $adapter, Credential $credential)
 {
     $userProfile = $adapter->getUserProfile();
     $loginName = $this->warder->getLoginName();
     // Generate a temp username that usr can edit it later.
     if ($loginName != 'email') {
         $username = strtolower(str_replace(' ', '', $userProfile->displayName)) . '-' . $userProfile->identifier;
         $credential->{$loginName} = $username;
     }
     $credential->email = $userProfile->email;
     $credential->name = $userProfile->displayName;
     $credential->_loginName = 'email';
     return $credential;
 }