Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
OAuth
http://oauth.net/ <ul>” An open protocol to allow secure API authorization in a simple and standard method from desktop an...
heise Developer <ul>” Oauth ermöglicht dem User ( end user ) einer Webanwendung ( service provider ) private Ressourcen ( ...
Begriffsklärung <ul><li>User  = Nutzer, der Inhalte teilen möchte
Service Provider  = Ort der Inhalte, z.B. Twitter
Consumer  = Applikation, die Inhalte anfordert
Protected Resources  = die Inhalte
Request/Access Tokens  = Ersatz für Login und Passwort </li></ul>
<ul><li>OpenID  = dezentrale Authentifi- zierung
XRDS  = Metadaten von Diensten
PortableContacts  = Kontakte  mitnehmen
OpenSocial  = Austausch zwi-schen sozialen Netzwerken
OAuth  = API-Autorisierung </li></ul>OAuth als Teil des Open Stack
twitter.com/oauth_clients/ <ul>Client registrieren Consumer key Consumer secret </ul>
Upcoming SlideShare
Loading in …5
×

Oauth

4,635 views

Published on

Kurze Einführung in OAuth mit Code-Beispielen für das 2. Treffen der PHP User Group Rheinhessen am 23. Februar 2010

Published in: Technology
  • Be the first to comment

Oauth

  1. 1. OAuth
  2. 2. http://oauth.net/ <ul>” An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications.” </ul>
  3. 3. heise Developer <ul>” Oauth ermöglicht dem User ( end user ) einer Webanwendung ( service provider ) private Ressourcen ( protected resources ) wie Fotos, Videos, Kontaktliste und Kontoauszug mit allen anderen Webanwendungen ( consumer ) auszutauschen, ohne Nutzername und Passwort der Service-Provider-Webanwendung den Konsumenten-Applikationen preiszugeben. OAuth verwendet ein sogenanntes token für die Übertragung von Nutzername und Passwort.” </ul>
  4. 4. Begriffsklärung <ul><li>User = Nutzer, der Inhalte teilen möchte
  5. 5. Service Provider = Ort der Inhalte, z.B. Twitter
  6. 6. Consumer = Applikation, die Inhalte anfordert
  7. 7. Protected Resources = die Inhalte
  8. 8. Request/Access Tokens = Ersatz für Login und Passwort </li></ul>
  9. 9. <ul><li>OpenID = dezentrale Authentifi- zierung
  10. 10. XRDS = Metadaten von Diensten
  11. 11. PortableContacts = Kontakte mitnehmen
  12. 12. OpenSocial = Austausch zwi-schen sozialen Netzwerken
  13. 13. OAuth = API-Autorisierung </li></ul>OAuth als Teil des Open Stack
  14. 14. twitter.com/oauth_clients/ <ul>Client registrieren Consumer key Consumer secret </ul>
  15. 15. $config = array( 'callbackUrl' => 'http://example.com/callback.php' , 'siteUrl' => 'http://twitter.com/oauth' , 'consumerKey' => 'gg3DsFTW9OU9eWPnbuPzQ' , 'consumerSecret' => 'tFB0fyWLSMf74lkEu9FTyoHXcazOWpbrAjTCCK48A' ); $consumer = new Zend_Oauth_Consumer( $config ); // Request Token holen $token = $consumer -> getRequestToken() ; // Request Token in der Session persistieren $_SESSION [ 'TWITTER_REQ_TOKEN' ] = serialize ( $token ); // Benutzer zu Twitter weiterleiten $consumer -> redirect() ;
  16. 17. $token = $consumer -> getAccessToken ( $_GET , unserialize ( $_SESSION [ 'TWITTER_REQUEST_TOKEN' ])); $_SESSION [ 'TWITTER_ACCESS_TOKEN' ] = serialize ( $token ); // Request Token kann gelöscht werden $_SESSION [ 'TWITTER_REQUEST_TOKEN' ] = null; $token = unserialize ( $_SESSION [ 'TWITTER_ACCESS_TOKEN' ]); $twitter = 'http://twitter.com/statuses/update.json' ; $client = $token -> getHttpClient ( $configuration ); $client- > setUri ( $twitter ); $client -> setMethod (Zend_Http_Client:: POST ); $client -> setParameterPost ( 'status' , 'Hallo PHPUGRHH' ); $response = $client -> request ();
  17. 18. Ähnliche Systeme Facebook Connect = eine in sich geschlossene Lösung Google Friend Connect = nutzt zum Teil Lösungen des Open Stack MySpace ID = eine Mischung aus proprietärem Ansatz und offenen Standards wie OAuth
  18. 19. Ausblick OAuth WRAP (Web Resource Authentication Protocol): <ul><ul><li>Work In Progress
  19. 20. SSL für mehr Sicherheit
  20. 21. Neue Wege, Tokens zu erhalten für Desktop Apps, reine Javascript-Implemtierungen </li></ul></ul>
  21. 22. Links (1/2) PHP-Libraries: http://php.net/oauth (PECL) http://pear.php.net/package/HTTP_OAuth (PEAR) http://oauth.googlecode.com/svn/code/php/ http://framework.zend.com/manual/de/zend.oauth.html http://cakebaker.42dh.com/downloads/oauth-component-for-cakephp/ OAuth WRAP: https://oauth.pbworks.com/OAuth-WRAP http://developers.facebook.com/news.php?blog=1&story=350 http://open.lukeshepard.com/oauth-wrap/console/
  22. 23. Links (2/2) Blogs, Wikis usw.: http://hueniverse.com/oauth/ (Beginner's Guide to OAuth) https://oauth.pbworks.com/ (OAuth Wiki) http://developers.facebook.com/news.php?tab=blog (Facebook Developers) http://notizblog.org/ (Matthias Pfefferle) http://blog.openwebpodcast.de/ (OpenWeb-Podcast) http://wiki.opensocial.org/index.php?title=OAuth_Use_Cases (SopenSocial) Spezifikationen: http://oauth.net/core/1.0a (OAuth 1.0a)
  23. 24. Vielen Dank!

×