Oauth
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Oauth

  • 4,988 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,988
On Slideshare
4,716
From Embeds
272
Number of Embeds
4

Actions

Shares
Downloads
15
Comments
0
Likes
4

Embeds 272

http://www.phpug-rheinhessen.de 207
http://www.slideshare.net 36
http://blog.sperr-objekt.de 28
http://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. OAuth
  • 2. http://oauth.net/
      ” An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications.”
  • 3. heise Developer
      ” 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.”
  • 4. Begriffsklärung
    • User = Nutzer, der Inhalte teilen möchte
    • 5. Service Provider = Ort der Inhalte, z.B. Twitter
    • 6. Consumer = Applikation, die Inhalte anfordert
    • 7. Protected Resources = die Inhalte
    • 8. Request/Access Tokens = Ersatz für Login und Passwort
  • 9.
    • OpenID = dezentrale Authentifi- zierung
    • 10. XRDS = Metadaten von Diensten
    • 11. PortableContacts = Kontakte mitnehmen
    • 12. OpenSocial = Austausch zwi-schen sozialen Netzwerken
    • 13. OAuth = API-Autorisierung
    OAuth als Teil des Open Stack
  • 14. twitter.com/oauth_clients/
      Client registrieren Consumer key Consumer secret
  • 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 ();
  • 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
  • 19. Ausblick OAuth WRAP (Web Resource Authentication Protocol):
      • Work In Progress
      • 20. SSL für mehr Sicherheit
      • 21. Neue Wege, Tokens zu erhalten für Desktop Apps, reine Javascript-Implemtierungen
  • 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/
  • 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)
  • 24. Vielen Dank!