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

3,931

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
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,931
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
16
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×