Сервис авторизации

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Сервис авторизации

Сообщение akiraz » 12 июл 2012, 22:29

1. Когда закрыл сайт на обслуживание, и нажал кнопку "выход", зайти на сайт вообще невозможно, даже через /site/login
2. напишите пожалуйста как использовать сервис авторизации, я подключил вконтакте и гугл, но при попытке входа с этих сервисов возникает ошибка
гугл
Ошибкаinvalid_request
Invalid parameter value for redirect_uri: Invalid URI: http://____.рф/site/login?service=google_oauth

вконтакте
{"error":"invalid_request","error_description":"redirect_uri is incorrect"}

напишите пошагово плиз, ой как пригодилось бы ) и в вики можно потом описать.
akiraz
Незнакомец
 
Сообщения: 19
Зарегистрирован: 09 фев 2012, 22:16
Очки репутации: 0

Re: Сервис авторизации

Сообщение Xpycm » 13 июл 2012, 08:10

1) Скиньте мне доступы к фтп на свой сайт и домен. Я погляжу в выходные или после выходных
2) Про настройку сервисов авторизации (где и куда надо кликнуть) очень хорошо написано на хабре - http://habrahabr.ru/post/145988/
Проблема, мне кажется в том, что настроили неверно.
Или нужно указывать не http://___.рф, а его реальное название - набор бессмысленных цифр и букв, что-то вроде http://xn-----58kcchfbcvbcvf.xn--p1ai

UPD: по первому пункту смог повторить баг (так что данные можете не присылать). Сейчас поправим и обновим архив продукта. Здесь напишу решение позже
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Сервис авторизации

Сообщение Xpycm » 13 июл 2012, 08:48

По первому пункту.

Спасибо за найденный баг.
Исходники в ближайшее время обновим.

Решение следующее:
Откройте файл protected\components\Controller.php
Замените в методе protected function beforeAction($action) существующий код:
Код: Выделить всё
if (issetModule('service') && !Yii::app()->user->getState('isAdmin') &&
    !(Yii::app()->controller->id == 'site' && Yii::app()->controller->action->id == 'login' &&
        Yii::app()->controller->action->id == 'logout')) {

    $serviceInfo = Service::model()->findByPk(Service::SERVICE_ID);
    if ($serviceInfo && $serviceInfo->is_offline == 1) {
        $allowIps = explode(',', $serviceInfo->allow_ip);
        $allowIps = array_map("trim", $allowIps);

        if (!in_array(Yii::app()->request->userHostAddress, $allowIps)) {
            $this->renderPartial('//../modules/service/views/index', array('page' => $serviceInfo->page), false, true);
            Yii::app()->end();
        }
    }
}
 


на:
Код: Выделить всё
if (!Yii::app()->user->getState('isAdmin')) {            
    $currentController 
= Yii::app()->controller->id;
    $currentAction = Yii::app()->controller->action->id;
                
    if 
(!($currentController == 'site' && ($currentAction == 'login' || $currentAction == 'logout'))) {
        if (issetModule('service')){
            $serviceInfo = Service::model()->findByPk(Service::SERVICE_ID);
            if ($serviceInfo && $serviceInfo->is_offline == 1) {
                $allowIps = explode(',', $serviceInfo->allow_ip);
                $allowIps = array_map("trim", $allowIps);

                if (!in_array(Yii::app()->request->userHostAddress, $allowIps)) {
                    $this->renderPartial('//../modules/service/views/index', array('page' => $serviceInfo->page), false, true);
                    Yii::app()->end();
                }
            }
        }
    }
}
 
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Сервис авторизации

Сообщение Xpycm » 13 июл 2012, 10:48

Архив с продуктом обновлён
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Сервис авторизации

Сообщение akiraz » 13 июл 2012, 11:07

Вам спасибо за оперативное решение проблем :)
только вчера сайт обновил с 1.2 до 1.3(жаль нет обновления,пришлось заново все стили, рисунки, тексты, ссылки вводить), Пока все классно, но некоторые баги неприятны

Далее, протестируйте пожалуйста сервисы авторизации Вконтакте и Гугл, я их ну никак не могу прикрутить к сайту. прошел по той ссылке, все прочитал, все сделал касательно гугла и вконтакте (КАК УКАЗАНО В СТАТЬЕ) и все равно пишет что неверный редирект ури

могу разжевать, что я делал
ВК
Тип — «Веб-сайт». Вводим базовый домен и адрес сайта. На странице настроек получаем client_id (ID приложения) и secret_key (защищенный ключ).
Получил и ИД и ключ. на сайте их ввел. при попытке входа вызывается доп окно где надпись {"error":"invalid_request","error_description":"redirect_uri is incorrect"}

Гугл
создал OAuth 2.0 Клиент ИД, правда Authorized Redirect URIs пришлось опустить, ибо что ни вводил туда(http://____.рф/site/login и http://____.рф/site/login?service=google_oauth и просто http://____.рф/ ) итог один OAuth 2 redirect URL "http://_____.рф/site/login" is invalid.

Client ID for web applications
Client ID:
------.apps.googleusercontent.com
Email address:
--------
Client secret:
--------
Redirect URIs: none
JavaScript origins: http://______.рф
вот так выглядит оно

далее ввожу на своем сайте в настройках - клиент ИД ------и ключ ------
пробовал еще полный клиентИД вводить -------- тоже не помогает.

что не так делаю? может действительно редирект ури нужен такой чтоб гугл его принял?

P.S. может время сессии на форуме увеличить?выкидывает если долго не проявляю активности, хотя сообщение пишу(хоть и долго)
Последний раз редактировалось Xpycm 13 июл 2012, 11:30, всего редактировалось 3 раз(а).
Причина: удалил ключи clienId и secret сервиса авторизации
akiraz
Незнакомец
 
Сообщения: 19
Зарегистрирован: 09 фев 2012, 22:16
Очки репутации: 0

Re: Сервис авторизации

Сообщение andipas » 13 июл 2012, 11:18

Скорее всего ломается из за кириллического названия домена.
Ключ кстати зря сюда запостили, уберите.
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Сервис авторизации

Сообщение Xpycm » 13 июл 2012, 11:29

akiraz писал(а):Вам спасибо за оперативное решение проблем :)
только вчера сайт обновил с 1.2 до 1.3(жаль нет обновления,пришлось заново все стили, рисунки, тексты, ссылки вводить), Пока все классно, но некоторые баги неприятны


Какие ещё баги встретились?
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Сервис авторизации

Сообщение Xpycm » 13 июл 2012, 11:32

Присоединюсь к коллеге. Это скорее всего из-за кириллического домена. Попробуйте указать его IDN (вроде так, непомню точно) аналог, в котором набор цифр и букв.
Вконтакте даёт понять своим ответом, что урл некорретный ("error_description":"redirect_uri is incorrect") при добавлении приложения.
Т.е. обратный редирект не совпадает с тем, что записан в настройках приложения

Напишите в тех.поддержку вконтакта.
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Сервис авторизации

Сообщение akiraz » 13 июл 2012, 14:37

Вконтакте с кириллическим доменом все впоряде, даже когда пуникод в поля адрес сайта и домен вводишь, после сохранения он транслирует в кириллицу.все он понимает

с гуглом действительно помогло, ввел пуникод, он принял Redirect URIs и JavaScript origins. Но ошибка при попытке входа с гугла все равно осталась.

скажите, на других сайтах эти сервисы тестировались?
akiraz
Незнакомец
 
Сообщения: 19
Зарегистрирован: 09 фев 2012, 22:16
Очки репутации: 0

Re: Сервис авторизации

Сообщение Xpycm » 13 июл 2012, 19:36

Тестировалось на доменах ru, com, org.
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

След.

Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

cron