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

авторизация Мой круг #24

Open
yuri25 opened this issue Oct 10, 2012 · 6 comments
Open

авторизация Мой круг #24

yuri25 opened this issue Oct 10, 2012 · 6 comments

Comments

@yuri25
Copy link

yuri25 commented Oct 10, 2012

На вашем сайте
EAuthException

Invalid response http code: 401.

/var/www/rosyama.ru/protected/modules/userGroups/components/ServiceUserIdentity.php(84)

На моем сайте

Ошибка 400
redirect_uri_mismatch

@Svechnikov
Copy link
Contributor

Это происходит из-за того, что в настройках приложения на Яндексе параметр "Callback URI" указан http://rosyama.ru/userGroups/?service=yandex

Тогда как авторизация через Мой круг ведёт на http://rosyama.ru/userGroups/?service=moikrug. В качестве лечения могу предложить разработчикам Росямы просто зарегистрировать второе приложение под Мой круг (либо исключить Мой круг из способов авторизации).

Хотя на том же Google есть возможность для одного приложения указывать сразу несколько Callback URI, на Яндексе почему то такого не предусмотрели.

Конкретно с Моим кругом есть ещё один подводный камень: если пользователь зарегистрирован на Яндексе, но не зарегистрирован на Моём круге, то при нажатии на кнопку "Подтвердить" происходит обращение к http://api.moikrug.ru/v1/my/ и выдаётся 401 ошибка.

upd. Оказывается, на самой Росяме под Мой круг уже зарегистрировано отдельное приложение, а на Яндексе используется Open ID) А вот exception всё равно выкидывается: Invalid response http code: 401.

@yuri25
Copy link
Author

yuri25 commented Oct 24, 2012

А почему на самой росяме не работает авторизация через яндекс, просто происходит пауза и потом не появляется меню пользователя и висят обычные поля ввода логина и пароля на странице авторизации?

@yuri25
Copy link
Author

yuri25 commented Oct 24, 2012

А на моем сайте все время авторизация через мой круг выдает Ошибка 400 uri_mismatch. Если можно небольшой пример здесь или на форуме. На форуме сколько не задавал вопросов - ни на один не ответили:( Может снова проблема в неправильном callback или еще что? На росяме мой круг работает через раз, иногда нормально проходит, иногда ошибку выдает.

@Svechnikov
Copy link
Contributor

Только что попробовал авторизоваться на Росяме через Яндекс - всё нормально. Через Мойкруг тоже.

Ошибка uri_mismatch, как я уже сказал, появляется из-за того, что callback неверный. Создайте второе приложение на Яндексе под Мойкруг.

'moikrug' => array(
'class' => 'MoikrugOAuthService',
'client_id' => 'client_id под мойкруг',
'client_secret' => 'client_secret под мой круг',
),
'yandex_oauth' => array(
'class' => 'YandexOAuthService',
'client_id' => 'client_id под яндекс',
'client_secret' => 'client_secret под яндекс',
'title' => 'Yandex (OAuth)',
),

Это если на Яндексе используется OAuth авторизация.

@yuri25
Copy link
Author

yuri25 commented Oct 25, 2012

Тоже попробовал через yandex - всплыло белое окно, потом пауза секунд 5-10, потом всплывающее окно исчезло и осталась только форма авторизации. Через мой круг всплыло окно с таким содержанием: Приложение RosYama запрашивает доступ к вашим данным на Яндексе:

Получение вашего первого круга. Я нажал кнопку подтвердить и успешно авторизовался. А яндекс так и не работает. Почему у одних работает у других нет?

@Svechnikov
Copy link
Contributor

Могу посоветовать в конец метода fetchAttributes добавить следующий код, чтобы посмотреть, какие данных приходят с Яндекса:

    echo '<pre>';
    print_r($info);
    yii::app()->end();

Если массив будет не пуст, то дело не в Яндексе.
Дальше, зная ключи массива с данными, можно на основе этих данных организовать регистрацию - авторизацию.

RosDostup added a commit to Teplitsa/RosDostup that referenced this issue Nov 14, 2013
вернул значки дефектов в st1234, добавил картинки 'о РосДоступе', убрал ...
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

2 participants