Авторизация OAuth2 на стороннем сайте из Flash приложения.

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone

Авторизация OAuth2 на стороннем сайте из Flash приложения.

Сообщение broken » 11 янв 2013, 17:16

Добрый день.

Имеется следующая ситуация:
1. Есть какой-то сайт, на одной из его страничек имеется flash приложение.
2. Заходя в это flash приложение, необходимо чтобы внутри него пользователь мог авторизоваться через соц. сети, например, Вконтакте (именно внутри флэшки).

Получается:
1. Имеем сторонний сайт с флэшкой, следовательно тип приложения ВК - Веб-сайт.
2. Для авторизации будем использовать OAuth2.
3. Следуя всем инструкциям, делаем примерно следующее:
a) Направляем человека по нажатию на кнопку Flash на страницу ВК:
  1.  
  2. var authUrl:String = "https://oauth.vk.com/authorize?" +
  3.                   "client_id=" + app_id + "&" +
  4.                   "scope=" + settings + "&" +
  5.                   "response_type=code&" +
  6.                   "redirect_uri=" + redirectUri;
  7.                
  8. navigateToURL(new URLRequest(authUrl));
  9.  

, где redirectUri адрес нашего скрипта на сервере, например vk_callback.php
  1.  
  2. <?php
  3.  
  4. $AUTH['client_id'] = 'id';
  5. $AUTH['client_secret'] = 'secret';
  6.  
  7. if (isset($_GET['code'])) {
  8.     $curl = curl_init('https://oauth.vk.com/access_token');
  9.     curl_setopt($curl, CURLOPT_POST, 1);
  10.     curl_setopt($curl, CURLOPT_POSTFIELDS,
  11.             'code=' . $_GET['code'] .
  12.             '&redirect_uri=' . urlencode(auth_uri) .
  13.             '&client_id=' . $AUTH['client_id'] .
  14.             '&client_secret=' . $AUTH['client_secret']);
  15.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  16.     $s = curl_exec($curl);
  17.     curl_close($curl);
  18.     $auth = json_decode($s, true);
  19. }
  20.  
  21. ?>
  22.  

, допустим получили access_token из $auth['access_token'].

Вопрос:
Как отдать после этого результат (например 'user auth complete') обратно флэшке, в том состоянии в котором flash приложение было. Т.е. как добавить calllback внутри flash на схему flash-vk-server-flash.
Предполагаю, что нужно использовать js помимо flash еще.
Надеюсь понятно написал. Возможно у кого-то есть примеры, другие линки или что-то еще.
Спасибо.
broken

 
Автор темы
Сообщения: 4
Зарегистрирован: 11 янв 2013, 16:44
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Авторизация OAuth2 на стороннем сайте из Flash приложения.

Сообщение gpv123 » 12 янв 2013, 19:37

gpv123

 
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57
Благодарил (а): 17 раз.
Поблагодарили: 73 раз.

Re: Авторизация OAuth2 на стороннем сайте из Flash приложения.

Сообщение broken » 14 янв 2013, 18:22

Ну то что есть ExternalInterface для схемы flash-js с его возможностями да, это я читал (call, addCallback и тп), спасибо.
Я не совсем понимаю как вообще повесить callback на вызов диалога авторизации ВК "https://oauth.vk.com/authorize?..." ведь он потом автоматически редиректит на php скрипт, который в свою очередь должен послать ответ (js-flash). Этот то ответ мне и нужен.

1. Есть обработчик клика во flash который через ExternallInterface.call вызывает JS обработчик.
2. Этот самый JS обработчик кидает на диалог ВК авторизации и должен иметь свой callback видимо, чтобы получить потом ответ. Но разве можно получить в JS ответ из схемы вызова flash->js->vk_server->php_server->js->flash.

Подскажите как написать сам обработчик JS с соответствующим callback для такой схемы.
broken

 
Автор темы
Сообщения: 4
Зарегистрирован: 11 янв 2013, 16:44
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Re: Авторизация OAuth2 на стороннем сайте из Flash приложения.

Сообщение broken » 21 янв 2013, 15:53

Вообщем разобрался на примере с Facebook:
http://blog.yoz.sk/2010/05/facebook-graph-api-and-oauth-2-and-flash/
Получение переменной от схемы flash->vk->php->flash возможно через возврат callback'a, в котором происходит обращение к флэшке через javascript и ExternallInterface.
broken

 
Автор темы
Сообщения: 4
Зарегистрирован: 11 янв 2013, 16:44
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Re: Авторизация OAuth2 на стороннем сайте из Flash приложения.

Сообщение EridaN » 17 июл 2013, 20:13

кто то сделал это ? можете пример показать ?
EridaN

 
Сообщения: 1
Зарегистрирован: 17 июл 2013, 02:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


Вернуться в Desktop-приложения, виджеты ВКонтакте, OAuth



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

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

cron