Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.07.2011, 19:34
Rembrant вне форума Посмотреть профиль Отправить личное сообщение для Rembrant Найти все сообщения от Rembrant
  № 1  
Ответить с цитированием
Rembrant
 
Аватар для Rembrant

блогер
Регистрация: Sep 2010
Сообщений: 82
Записей в блоге: 2
По умолчанию Авторизация на своём сервере - как проверить sig

Скоро сломаю мозги. В документации это не описано, есть одинокий комментарий, в котором сказано, что нужно проверить sig, передающийся в flashvars для текущего uid'а.
Здесь http://dev.odnoklassniki.ru/wiki/dis...+Authorization есть процесс рассчёта sig: MD5 всех k=v в алфавитном порядке, кроме самого sig + API_SEKRET_KEY в конце.
Итак

Всего во flashvars я получаю такие данные:
apiconnection, sig, auth_sig, session_key, session_secret_key, api_server, authorized, logged_user_id, application_key
api_server - ихняя песочница, http://api-sandbox.odnoklassniki.ru:8088/, её как-то стрёмно включать в сиг. Наиболее правдоподобными кажутся варианты:
Код AS3:
var sig0:String=MD5.hash('apiconnection=' + apiconnection + 
'application_key=' + application_key + 
'auth_sig=' + auth_sig + 
'authorized=' + authorized + 
'logged_user_id=' + logged_user_id + 
'session_key=' + session_key + 
'session_secret_key=' + session_secret_key + 
API_SEKRET_KEY).toLowerCase();
var sig1:String=MD5.hash('apiconnection=' + apiconnection + 
'application_key=' + application_key + 
'authorized=' + authorized + 
'auth_sig=' + auth_sig + 
'logged_user_id=' + logged_user_id + 
'session_key=' + session_key + 
'session_secret_key=' + session_secret_key + 
API_SEKRET_KEY).toLowerCase();
Также ещё пробовал: включить всё-таки в подпись api_server, убирать по отдельности apiconnection или session_key. Вариантов много, но главное одно - все мои подписи не совпадают с ихней. Возможно, кто-то уже делал или сталкивался, и знает, как её формировать?

Добавлено через 25 минут
UPD:
Разобрался. фак еее) Правильным оказался вариант:
Код AS3:
var sig6:String = MD5.hash( 'api_server='+api_server+
'apiconnection='+apiconnection+
'application_key='+application_key+
'auth_sig='+auth_sig+
'authorized='+authorized+
'logged_user_id='+logged_user_id+
'session_key='+session_key+
'session_secret_key='+session_secret_key+
API_SEKRET_KEY ).toLowerCase();
Теперь вот размышляю, как это использовать на сервере. По идее, по тому же принципу что и Вк есть статичный секретный ключ, невидимый пользователю. Но какой из этой кучи? По-видимому, session_secret_key???

Добавлено через 28 часов 33 минуты
Всем блин спасибо)) Я разобрался. Для проверки используется секретный ключ, который приходит на мыло. При этом я вынужден палить его в флешке, если хочу сделать запрос из неё или подключить их SDK. Защита флешки по их мнению - забота разработчика. Система просто сказочная.


Последний раз редактировалось Rembrant; 26.07.2011 в 19:50.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.