Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ошибка 400/401 при попытки авторизоваться, когда пользователь авторизован #86

Open
astratyandmitry opened this issue Jun 30, 2014 · 0 comments

Comments

@astratyandmitry
Copy link

В крации:

В то время когда пользователь авторезирован на сайте, при попытке использовать блок кода после $eath->authenticate() для того что бы подключить аккаутн к существующему профилю вылетает ошибка 401/400.

Полная история:

Имеется проект, логика которого состоит в следующем.

  • Пользователь регистрируется через простую форму либо через социальную сеть, в этом случае создаем ему простого пользователя указывая данные из соц сети.
  • Если e-mail при авторизации через соц. сеть совпадает с e-mail пользователя добавленного ранее, мы мерджим их данные (посты, комментарии и т.п.) и генерируем один аккаунт.

Допустим имеется аккаунт Яндекса, зарегестрированный автоматически при авторизации. И аккаунт сделаный таким же способо но через ВК, в настройках аккаунта мы можем подключить аккаунт из Яндекса и соответсвенно смерджить данные двух аккаунтов и прикрепить данные Яндекса к "основному" (так как добавление социального профиля происходит через аккаунт ВК) аккаунта ВК.

В этом случае при попытке запустить код типа:

        $serviceName = Yii::app()->request->getQuery('service');
        if (isset($serviceName)) {
            /** @var $eauth EAuthServiceBase */
            $eauth = Yii::app()->eauth->getIdentity($serviceName);
            $eauth->redirectUrl = $this->createAbsoluteUrl('auth/login');
            $eauth->cancelUrl = $this->createAbsoluteUrl('auth/login');

            if ($eauth->authenticate())
            {
                if (!Yii::app()->user->isGuest) {
                    // Do some merge logic
                }
            }
        }

Получаю ошибку 400 или 401. Как я понял это происходит поптому что я авторизованный пользователь, так как если выйти Yii::app->user->logout() то все работает.

В чем может быть ошибка? Яндекс такой проблемы не выдает.

  • Ошибка Twitter: Creating default object from empty value (/var/project/motor.local/protected/extensions/eoauth/EOAuthUserIdentity.php(134))
134  $token->key = $oauthToken;
  • Ошибка ВК: Invalid response http code: 401
  • Ошибка Facebook: Invalid response http code: 400
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant