yii2 authclient

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
an.viktory@gmail.com
Сообщения: 492
Зарегистрирован: 2016.09.05, 23:21

yii2 authclient

Сообщение an.viktory@gmail.com » 2019.08.17, 14:14

почему при первой регистрации через соцсети летит ошибка

Код: Выделить всё

invalid auth state parametr
потом авторизуется (регистрируется) нормально даже если удалить запись пользователя из базы?

yiiliveext
Сообщения: 175
Зарегистрирован: 2019.08.13, 01:49

Re: yii2 authclient

Сообщение yiiliveext » 2019.08.17, 18:21

an.viktory@gmail.com писал(а):
2019.08.17, 14:14
почему при первой регистрации через соцсети летит ошибка

Код: Выделить всё

invalid auth state parametr
потом авторизуется (регистрируется) нормально даже если удалить запись пользователя из базы?
Какая у вас версия yii2-authclient установлена?

an.viktory@gmail.com
Сообщения: 492
Зарегистрирован: 2016.09.05, 23:21

Re: yii2 authclient

Сообщение an.viktory@gmail.com » 2019.08.18, 10:31

Код: Выделить всё

 "name": "yiisoft/yii2-authclient",
            "version": "2.2.4",
            

an.viktory@gmail.com
Сообщения: 492
Зарегистрирован: 2016.09.05, 23:21

Re: yii2 authclient

Сообщение an.viktory@gmail.com » 2019.08.18, 10:50

проблему

Код: Выделить всё

invalid auth state parametr
поставив

Код: Выделить всё

  'validateAuthState' => false,
  
но при первой регистрации остается на странице facebook и не редиректит на сайт обратно

yiiliveext
Сообщения: 175
Зарегистрирован: 2019.08.13, 01:49

Re: yii2 authclient

Сообщение yiiliveext » 2019.08.18, 16:33

Для начала вам нужно локализовать проблему. Уберите строку 'validateAuthState' => false из конфига, залогиньте через фейсбук нового пользователя и откройте Yii Debugger.
Найдите ближайший лог с URL вида:

Код: Выделить всё

GET https://yoursite.com/auth?authclient=facebook&code=AQCEMsqXalXrZluC5aihQ4SGFjGtlBszkgL_Q7iFNB9nRsLc8LHYwmfxqsDqWgqsm6ecj_VteOAdlHU1InONyDU9oHnT1cSuTTPQ-ahMmi_OfaGVfYMsFb7XC*****************************************************-Ncl8YqDa1HLi0iAnUh6fMLOGytuKL6udhCggQZlXGzBz4tNp0XNqA4vV4UiBFMm2j3skPU9JEimRRsfAJUkVqTW0ZlMsXGlR0gRDj43uGIdswNNhRjVdsEq3MEuK6zamnEdBmroRZIxc2RRieDnqwUpceJvR2v6&state=42f9a63daebe8b7e8f63c6e02afa0c053310bb15860e5ca1798ff68b94713660 
Если переменная state определена и не пуста, то скопируйте ее в блокнот.
Найдите следующий URL вида

Код: Выделить всё

GET https://yoursite.com/auth?authclient=facebook 
Перейдите в этот лог в раздел Request на вкладку Session. Если у вас определена переменная как на картинке ниже, то скопируйте ее в блокнот рядом с первой.
ИзображениеИзображение

Исключение 'Invalid auth state parameter.' возникает либо в случае, когда первая переменная неопределена, либо когда вторая переменная неопределена или пуста, либо когда эти переменные не совпадают. В зависимости от того, какое из условий у вас срабатывает, будет видна причина и возможна дальнейшая локализация.

Ответить