Как вы авторизируете своих посетителей?

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Dimaz
Сообщения: 76
Зарегистрирован: 15 ноя 2012, 18:37

Как вы авторизируете своих посетителей?

Сообщение Dimaz »

Приветствую. Уже мучаюсь неделю. Не могу разобраться, как авторизировать пользователей в приложении. Многие браузеры отказываются принимать куки от iframe-приложений. Что с этим делать. Кто как решает эту проблему?
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Как вы авторизируете своих посетителей?

Сообщение Serge »

В каком смысле авторизовать пользователей в приложении? Если это i-frame - пользователь авторизован в ВК, а ВК передает информацию приложению о пользователе, запустившем приложение.
Dimaz
Сообщения: 76
Зарегистрирован: 15 ноя 2012, 18:37

Re: Как вы авторизируете своих посетителей?

Сообщение Dimaz »

Ну, чтобы после каждого запроса идентифицировать пользователя. Я ставил куки с ид-ом и auth_key, но куки не работают во многих браузерах. Если приходят из фрейма. В гугл хроме работают, в сафари и ИЕ не работают. В других еще не проверял.
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Как вы авторизируете своих посетителей?

Сообщение Alazaur »

Никак не авторизую) viewer_id и auth_key идут со всеми запросами. :D
Dimaz
Сообщения: 76
Зарегистрирован: 15 ноя 2012, 18:37

Re: Как вы авторизируете своих посетителей?

Сообщение Dimaz »

То есть каждый раз отправляете и при каждом запросе вычисляете md5 и сверяете id? Если это так, то откуда взять auth_key и viewer_id при обращении к другим php-скриптам. Эти параметры передаются только в index.php и в других скриптах не доступны.
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Как вы авторизируете своих посетителей?

Сообщение Alazaur »

Я работаю аяксом))) А вообще, у нас же есть сессии, GET, POST параметры и вся сила яваскрипта :D
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Как вы авторизируете своих посетителей?

Сообщение Serge »

Но лучше аякс, имхо.
Dimaz
Сообщения: 76
Зарегистрирован: 15 ноя 2012, 18:37

Re: Как вы авторизируете своих посетителей?

Сообщение Dimaz »

Эээ.. А поподробней можно?) Ид сессии сохраняется в куках, а куки браузеры из фрейма не принимают. Я сделал так. Передал ид сессии в браузер и сохранил в скрытом поле hidden. Затем достал его оттуда и js-ом и прикрепил к get запросу. mysite.ru/index.php?PHPSESSID=2381sdf12... Сервер выдает ошибку, что сессию не нашел. Я как-то не правильно подставляю? Расскажите, пожалуйста поподробней, как вы делаете.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Как вы авторизируете своих посетителей?

Сообщение Serge »

Dimaz
ну у меня видна только страница index.html. При нажатии на любую кнопку идет post запрос к скрипту(ам) с параметрами самого запроса, а также viewer_id и auth_key, результат подгружается в определенные элементы страницы. Непосредственно перехода по страницам нет.
Dimaz
Сообщения: 76
Зарегистрирован: 15 ноя 2012, 18:37

Re: Как вы авторизируете своих посетителей?

Сообщение Dimaz »

Так и у меня нет переходов. Как я понял эти параметры нужно получать таким образом:

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

VK.loadParams(document.location.href);var viewer_id = VK.params.viewer_id;var auth_key = VK.params.auth_key;
Т.е. сразу после загрузки страницы определить эти две переменные и сделать глобальными, затем подставлять их в каждый запрос. Я правильно понимаю ход ваших действий?
Потом происходит проверка:

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

$user_id = $_GET['viewer_id'];$auth_key = $_GET['auth_key'];if($user_id && $auth_key) {    include("config.php");    $real_auth_key = md5($api_id."_".$user_id."_".$api_key);    if($real_auth_key != $auth_key) {echo "ошибка auth_key"; exit;}
Эту проверку нужно подключить к каждому php-скрипту, в которые приходят запросы от клиента. Я угадал ваши мысли? :D
Ответить