示例#1
0
文件: Login.php 项目: skybird/phalcon
 public function connectWithPassword($identify, $password, array $accessToken)
 {
     $userModel = new UserLogin();
     $user = $userModel->loginByPassword($identify, $password);
     $accessTokenEntity = new AccessTokens();
     $accessTokenEntity->assign($accessToken);
     $accessTokenEntity->tokenStatus = 'active';
     $accessTokenEntity->userId = $user->id;
     if (!$accessTokenEntity->save()) {
         throw new Exception\RuntimeException('ERR_OAUTH_TOKEN_CREATE_FAILED');
     }
     return $user;
 }
示例#2
0
 public function unbindUserOAuth($userId, $adapterKey)
 {
     $tokens = AccessTokens::find(array("conditions" => "userId = :userId: AND adapterKey = :adapterKey:", "bind" => array('userId' => $userId, 'adapterKey' => $adapterKey)));
     if ($tokens) {
         foreach ($tokens as $token) {
             $token->delete();
         }
     }
     return $tokens;
 }
示例#3
0
 public function register()
 {
     $accessToken = OAuthManager::getAccessToken();
     if (!$accessToken) {
         throw new Exception\ResourceConflictException('ERR_OAUTH_NO_ACCESS_TOKEN');
     }
     $register = new UserRegister();
     $register->username = $this->username;
     $register->email = $this->email;
     $register->status = 'active';
     $register->accountType = 'basic';
     $register->emailStatus = 'inactive';
     $register->providerType = $accessToken['adapterKey'] . '_' . $accessToken['version'];
     $user = $register->register(true);
     $accessTokenEntity = new AccessTokens();
     $accessTokenEntity->assign($accessToken);
     $accessTokenEntity->tokenStatus = 'active';
     $accessTokenEntity->userId = $user->id;
     if (!$accessTokenEntity->save()) {
         throw new Exception\RuntimeException('ERR_OAUTH_TOKEN_CREATE_FAILED');
     }
     return $user;
 }