uLogin - виджет авторизации через социальные сети « все идеи проекта

0

голосов

Как передать "authenticity token", которой при редиректе был бы в POST запросе ?

В ruby on rails проектах используется механизм защиты от определенного вида атак при отправке форм. Поэтому POST запросы защищены при помощи "authenticity token". Это скрытое поле добавляется во все формы. И при запросах POST проверяется наличие этого параметра и соответствие его тому который был в форме. Поэтому необходима возможность в инициирующем блоке указывать параметры которые потом вернуться в POST запрос.

Алексей Марочкин, 29.08.2014, 13:08
Статус идеи: выполнено

Комментарии

Иван Пшеницын, 29.08.2014, 13:14
Интересно...
А проверяется этот параметр в пришедшем запросе именно в POST-параметрах? Просто добавить к адресу редиректа (в GET-параметры) не получится? (как-то так: redirect_uri=http%3A%2F%2Fmysite.ru%2Fregister%3Fsecurity%3Dparameters)
Алексей Марочкин, 29.08.2014, 13:17
Теоретически если в инициирующем блоке можно переопределить redirect url то в момент формирования страницы логона можно этот token подставить в него. А так как ruby по сути все равно откуда брать параметры из POST или из query string, то должно сработать.
Иван Пшеницын, 29.08.2014, 13:21
А у вас есть возможность попробовать этот вариант?
Алексей Марочкин, 29.08.2014, 13:44
При такой настройке редирект происходит с параметром, но токен обрезается почему то (

В блоке виджета redirect uri можно передать?
Что то типа..
<script src="//ulogin.ru/js/ulogin.js"></script><div id="uLogin1" data-uloginid="afead14e" redirect-url="..."></div>
Иван Пшеницын, 29.08.2014, 13:50
А, у вас код с uloginid из ЛК, извините не учел.
В таком блоке (из личного кабинета скопированном) переопределение параметров происходит так же, как в обычном виджете, через аттрибут data-ulogin.
Т.е. вместо
redirect-url="..."
в вашем коде, используйте
data-ulogin="redirect_uri=..." (не забывайте урленкодить адрес)
Так же, наряду с параметром редиректа, внутри аттрибута data-ulogin можно переопределить любой из возможных параметров виджета.
Алексей Марочкин, 29.08.2014, 14:01
сделал в итоге в data-ulogin="redirect_uri=website/oauth2callback/?authenticity_token=tIhNXqj2qR9V5cvgzflRmyrPBjNOrEbDYN1uV0+4jrA="

редирект происходит на website/oauth2callback/?authenticity_token

то есть сам токен обрезается
Иван Пшеницын, 29.08.2014, 14:02
А вы адрес точно заурленкодили?
Алексей Марочкин, 29.08.2014, 14:03
скопировал с ЛК - он там как надо
Иван Пшеницын, 29.08.2014, 14:13
Очень странно. У uLogin'а никогда не было проблем с передачей параметров. Сейчас у себя проверил с точно таким же параметром - все в порядке.
У вас это все локально, или я могу зайти посмотреть?
Если не могу зайти - покажите пожалуйста фрагмент исходного кода страницы с виджетом (т.е. где уже токен вставлен), желательно скриншотом.
Алексей Марочкин, 29.08.2014, 14:14
Кажется понял. Сам токен тоже нужно урленкодить - он то динамически формируется. попробую отпишусь.
Алексей Марочкин, 29.08.2014, 14:19
отенкодил все, в результате и параметр сам пропал.

Посмотреть можно тут: http://do.psiconsul.ru/login
Алексей Марочкин, 29.08.2014, 14:43
Получилось с кодом из конструктора!
Иван Пшеницын, 29.08.2014, 14:45
Отлично!
Обращайтесь если будут еще вопросы, с радостью поможем.
Алексей Марочкин, 29.08.2014, 14:47
Как на гитхаб залью плагин, дам ссылку
Иван Пшеницын, 01.09.2014, 11:25
О, пропустил в пятницу.
Спасибо, опубликуем у себя на сайте ссылку на гитхаб)
Иван Пшеницын, 29.08.2014, 13:15
Еще, как вариант - использовать колбек-функцию вместо редиректа.
Алексей Марочкин, 29.08.2014, 13:18
Про калбек думал, но мне такой вариант не нравится.

Я делаю плагин для redmine и клиентские скрипты при логоне не хотелось бы использовать.

Оставить комментарий