OAUTHОРИЗАЦИЯ И API СОЦИАЛЬНЫХ СЕТЕЙ Артём Курапов.

Презентация:



Advertisements
Похожие презентации
Java Server Pages(JSP). JavaServer Pages (JSP) позволяют вам отделить динамическую часть ваших страниц от статического HTML. Вы, как обычно, пишете обычный.
Advertisements

Автор: Телегина Е.Н., учитель английского языка МСОШ 32.
© 2007 Cisco Systems, Inc. All rights reserved.SNRS v Adaptive Threat Defense Configuring Cisco IOS Firewall Authentication Proxy.
Overview of the Paysonnel CE. Overview Paysonnel CE Go to URL- 1 Click [Login to Paysonnel CE] 2 How to Log-in to Paysonnel CE 1 2.
© 2006 Cisco Systems, Inc. All rights reserved. CVOICE v VoIP Signaling and Call Control Configuring SIP.
© 2005, Cisco Systems, Inc. All rights reserved. IPS v Lesson 4 Using IPS Device Manager.
Service «Integrum Companies» step by step
Work with server by XMLRPC – library in Java For students Author: Dudnik Oxana.
Unit 2 Users Management. Users Every user is assigned a unique User ID number (UID) UID 0 identifies root User accounts normally start at UID 500 Users'
© 2004, Cisco Systems, Inc. All rights reserved. CSIDS Lesson 4 Cisco Intrusion Detection System Architecture.
My favourite website Katya Kupko Form 10 A. My favorite site is
© 2005 Cisco Systems, Inc. All rights reserved. IPTX v Configuring Additional Cisco CallManager Express Features Configuring Cisco CallManager Express.
Mobility Control and one-X Mobile. Mobility Control User Configuration Mobile Call Control requires PRI-U, BRI or SIP (RFC2833) trunks in the IP Office.
Slide title 70 pt CAPITALS Slide subtitle minimum 30 pt Ericsson Learning Interface ELI User guide.
Does channel’ binding to a widely promoted account in Twitter influence its search result ranking on YouTube - SeeZisLab
© 2009 Avaya Inc. All rights reserved.1 Chapter Four, UMS Web Services Module One – UMS.
© 2006 Cisco Systems, Inc. All rights reserved. HIPS v Configuring CSA Installing and Configuring CSA MC.
Work with databases in Java. JDBC Tutorial for students of universities Author: Dudnik Oxana.
© 2004, Cisco Systems, Inc. All rights reserved. CSIDS Lesson 7 Using the Intrusion Detection System Device Manager to Configure the Sensor.
Lets look at some interesting and popular devices which have touchscreens.
Транксрипт:

OAUTHОРИЗАЦИЯ И API СОЦИАЛЬНЫХ СЕТЕЙ Артём Курапов

Пузомерки Facebook – 500 млн (апрель 2010) Twitter – 145 млн (апрель 2010) Вконтакте – 91 млн (октябрь 2010) Linkedin – 75 млн (ноябрь 2010) Одноклассники – 45 млн (февраль 2010)

От перехвата паролей и.. RSS?

Решение – временные пароли Свет мой, зеркальце! скажи Ищем всех румяных, милых и белых Да, разрешаю

Introducing.. Их две версии и разными фичами Oauth 1.0 reference (RFC5849) Google, Yahoo, Яндекс тоже в теме Перед употреблением прочитать показания на упаковке или посоветоваться с аптекарем

Форма следует за содержанием Абстрактная мысль 1 этого доклада

Twitter OAuth Redirect.php Consumer key + secret Access key + secret SHA1 + Base64

Twitter API объекты Statuses, Direct messages Users, Friends, Followers Lists, Subscribers Friendships Geo places Trends

Twitter : новое приложение

Схема Oauth

Twitter - Псевдокод require_once('twitteroauth/twitteroauth.php'); require_once('twitter_oauth/config.php'); $connection = new TwitterOAuth( $aSyncAccount[consumer_key'], $aSyncAccount[consumer_secret'], $aSyncAccount[access_key'], $aSyncAccount[access_secret']); $user = $connection->get('account/verify_credentials'); $arrPosts = $connection->get('statuses/user_timeline');

Twitter - впечатления Баг длиной ID в php (E14) Plaintext (в последний раз как я заглядывал)

Вопросы? (Про twitter)

Один из семи инструментов пропаганды Абстрактная мысль 2 этого доклада

Facebook – объекты User (*), Page (*) Status Post Note Photo Video Link Album (Photos, Picture) Event (Feed, Users, Picture) Group (Feed, Members, Picture) Application Subscription Insights Checkin Comments Likes Friends

Facebook – новое приложение Получаем Consumer key (App ID + secret)

Facebook + серверное приложение Oauth 2.0 без подписей, но на SSL Перенаправляем с client_id, redirect_uri, scope = offline_access Пользователь подтверждает привилегии Возвращается с code параметром, обмениваем на access_key |ad22e11d67b e26da |D8PoAPDdvv8onIAf_CasljjK7Pk

Привилегии

Facebook - Псевдокод if(!$token){ if($_REQUEST['code']){ $token = file_get_contents( ' nt_secret='.CONSUMER_SECRET.'&code='.$_REQUEST['code'].'&redirect_uri='.CONSUM ER_URL); } else header('Location: fline_access,create_event,publish_stream,user_events&redirect_uri='.CONSUMER_U RL); } Дальше можно использовать GraphAPI через PHP SDK или просто читать JSON

Facebook + Javascript GraphAPI Javascript c FB глобальным объектом FB.init() FB.login() + FB.logout() FB.getLoginStatus() FB.api()

Facebook впечатления Пароли временные Нельзя прочитать друзей X пользователя без разрешения даже если пользователь разрешил видеть всем #604 error: Сan't lookup all friends of XXXXXX. Can only lookup for the logged in user (XXXXXX), or friends of the logged in user with the appropriate permission

Вопросы? (Про facebook)

У каждой веры своё отношение к клонам Абстрактная мысль 3 этого доклада

Вконтакте - объекты Friends Wall Photos Audio, Video Places Offers Questions Notes Pages

Вконтакте Новый «OpenAPI» (3.0), Iframe плюшки Javascript с глобальным VK объектом Авторизация на MD5 подписях для PHP/ActionScript

Вконтакте - псевдокод // старый по логин-паролю $vkontakte = new vkuserapi ($aSyncAccount['login'], $aSyncAccount[password']); $vkontakte->call ('set_activity',array('ts'=>time(),'text'=> $strMessage)); // новая через ID приложения $VK = new vkapi($api_id, $secret_key); $resp = $VK->api('getProfiles', array('uids'=>'1, 2'));

LinkedIN – объекты Person (Company, Education, Recommendation, Position) Connection Share Invitation

LinkedIN OAuth 1.0 Можно убить access token Из объектов API – нет полноценных «компаний» но есть школы Есть JS Api как у Facebook + iframe плюшки

LinkedIN – псевдокод c PEAR require_once 'HTTP/OAuth.php; require_once 'HTTP/OAuth/Consumer/Request.php'; require_once 'HTTP/Request2.php; require_once 'HTTP/OAuth/Consumer.php'; $oRequest = new HTTP_Request2; $oRequest->setHeader('Accept-Encoding', '.*'); $oRequest->setConfig('ssl_verify_peer', false); $oRequest->setConfig('ssl_verify_host', false); $oAuthRequest = new HTTP_OAuth_Consumer_Request; $oAuthRequest->accept($oRequest); $oConsumer = new HTTP_OAuth_Consumer( $aSyncAccount['consumer_key'], $aSyncAccount['consumer_secret'], $aSyncAccount['access_token'], $aSyncAccount['access_token_secret'] ); $oConsumer->accept($oAuthRequest); $oResponse = $consumer->sendRequest(' search:(people:(id,first-name,last-name,headline,location,industry,distance,public-profile- url,picture-url,positions,educations),num-results)?keywords='. rawurlencode('Артём Курапов'), array(), 'GET'); $oXml = simplexml_load_string($oResponse->getBody());

Одноклассники - объекты Users, Friends Photos Events Messages

Одноклассники API появилась ~ в октябре 2010 ActionScript, JavaScript, REST API SSL auth.login + auth.loginByToken – цель не уловил

Fin а что такое OpenSocial?