SlideShare a Scribd company logo
1 of 27
OAuth2
 (questo sconosciuto)



 27 Giugno 2012




 Federico Di Gregorio
OAuth2
 (questo sconosciuto)



27 Giugno 2012



 Federico Di Gregorio
Questa donna vi ha (quasi) mentito...
Oggi parliamo (quasi) solo di OAuth2.

 Un meccanismo per la condivisione di contenuti
controllata e parziale sotto il controllo dell'utente
Ma non parleremo di loro...
OAuth2 è importante per le startup che vogliano
integrarsi nei servizi di terze parti (ok, FB in primis)


OAuth2 è ancora più importante per le startup
che voglia offrire servizi a terze parti.
Nel frattempo
in una startup
lontana lontana...
Ma le password sono in chiaro?



                     Ehm... si.



Ma almeno siete su SSL, vero?



                    Ehm... no.
OAuth2 per esempi
Parte Prima, nella quale si capisce perché OAuth2
è fondamentale per garantire l'utente.

Parte Seconda, nella quale si sperimenta con
token ed endpoints.
www.llanadillama.com

Un social network per lo
scambio di cartamodelli
per la realizzazione di
maglioni.

Stampa e spedisce!
www.AIQ*.it



Uno sito per lo
scambio di poesie
scritte in automatico
da programmi di AI.
                        *Artificial Intelligence Quotes
Nuuu!




Ma certo! Ci serve la password, di
www.AIQ.it. In chiaro, please!



                Vorrei avere in automatico alcune
                poesie su di un maglione di pure lana
                vergine...
Mm...
Argh!




   Ma certo! Ci serve la password, di
   www.llanadilama.com. In chiaro,
   ovviamente, please!



Riproviamo... vorrei mandare in
automatico le poesie a quelli che fanno i
maglioni...
Mm...
mm...
mm...
Problemi di Password
Inviare la password in chiaro non è un problema.

Invece, memorizzare le password in chiaro è un


grosso, enorme,      problema.
OAuth2
Introduce uno strato ulteriore di autenticazione:

resource server

resource owner (utente)

client

authorization server
Leggere attentamente le avvertenze
         prima dell'uso.
A Client Identifier + redirect URI
                          B Owner authenticates
                          C Authorization Code
    Federico              D Authorization Code + response URI
(resource owner)          E Access Token

                           https://www.AIQ.it/mystuff
             B                                                    AIQ
                     A                                      (resource server)
                     B
Internet Exploder
   (user agent)

                                                 C                AIQ
                                                              (auth server)
         A       C

                           D                      E
                                                        https://www.AIQ.it/authserv
       LLANADILLAMA
           (client)

                                                        E
     https://www.llanadillama.com/print
(LIVE OAUTH SESSION DEMO)
Congratulazioni!

Avete appena “scritto”
un algoritmo per usare
OAuth2.

(Se sapete programmare
alla fine è uguale...)
Si ma... Facebook Connect?
Facebook offre un'API estremamente sofisticata
costruita su di OAuth2, sul parametro “scopes” e
sull'indicizzare qualsiasi oggetto con URL uniche.

Basta prendere l'SDK e fare
copy&paste del PHP di esempio...

PHP... mm... PHP...
Riferimenti
OAuth2 Internet Draft

http://tools.ietf.org/html/draft-ietf-oauth-v2-28
https://developers.facebook.com/docs/authentication/
https://dev.twitter.com/docs/auth/oauth/faq
https://developers.google.com/accounts/docs/OAuth2
Contatti
Federico Di Gregorio

Email: fog@initd.org

Chat:   fog@jabber.linux.it

        fogzot@chat.facebook.com

              XMPP, ma questa è un'altra storia...
I miei dati,
5


con OAuth2 condivido.
7


Sicuri sempre.
5

More Related Content

Similar to Oauth2

Malware Analysis. A Case Study
Malware Analysis. A Case StudyMalware Analysis. A Case Study
Malware Analysis. A Case Study
Gianni Amato
 
Docker vs Virtualizzazioni
Docker vs VirtualizzazioniDocker vs Virtualizzazioni
Docker vs Virtualizzazioni
Giuliano Latini
 

Similar to Oauth2 (20)

Integrazione e uso di SPID all’interno di un’applicazione web - Valerio Paoli...
Integrazione e uso di SPID all’interno di un’applicazione web - Valerio Paoli...Integrazione e uso di SPID all’interno di un’applicazione web - Valerio Paoli...
Integrazione e uso di SPID all’interno di un’applicazione web - Valerio Paoli...
 
Augmented Reality For Fun & profit
Augmented Reality For Fun & profitAugmented Reality For Fun & profit
Augmented Reality For Fun & profit
 
(NOW 3.0) MMORPG Architecture for dummies
(NOW 3.0) MMORPG Architecture for dummies(NOW 3.0) MMORPG Architecture for dummies
(NOW 3.0) MMORPG Architecture for dummies
 
Evento Xenesys - Security Conference
Evento Xenesys - Security ConferenceEvento Xenesys - Security Conference
Evento Xenesys - Security Conference
 
Botnet e nuove forme di malware
Botnet e nuove forme di malwareBotnet e nuove forme di malware
Botnet e nuove forme di malware
 
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...
 
Malware Analysis. A Case Study
Malware Analysis. A Case StudyMalware Analysis. A Case Study
Malware Analysis. A Case Study
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
 
Programma il futuro: una scelta open source
Programma il futuro: una scelta open sourceProgramma il futuro: una scelta open source
Programma il futuro: una scelta open source
 
Docker vs Virtualizzazioni
Docker vs VirtualizzazioniDocker vs Virtualizzazioni
Docker vs Virtualizzazioni
 
Virtually Pwned: Hacking VMware [ITA - SMAU10]
Virtually Pwned: Hacking VMware [ITA - SMAU10]Virtually Pwned: Hacking VMware [ITA - SMAU10]
Virtually Pwned: Hacking VMware [ITA - SMAU10]
 
Web Application Insecurity L D2007
Web Application Insecurity  L D2007Web Application Insecurity  L D2007
Web Application Insecurity L D2007
 
Darknet e CyberIntelligence - Progettazione e realizzazione di un ambiente di...
Darknet e CyberIntelligence - Progettazione e realizzazione di un ambiente di...Darknet e CyberIntelligence - Progettazione e realizzazione di un ambiente di...
Darknet e CyberIntelligence - Progettazione e realizzazione di un ambiente di...
 
Ai & Ethereum the world computer
Ai & Ethereum the world computerAi & Ethereum the world computer
Ai & Ethereum the world computer
 
Gamemate - Design and Prototypical Implementation of an Architecture for shar...
Gamemate - Design and Prototypical Implementation of an Architecture for shar...Gamemate - Design and Prototypical Implementation of an Architecture for shar...
Gamemate - Design and Prototypical Implementation of an Architecture for shar...
 
Liferay: Esporre Web Services Custom
Liferay: Esporre Web Services CustomLiferay: Esporre Web Services Custom
Liferay: Esporre Web Services Custom
 
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...
 
Oauth
OauthOauth
Oauth
 
ASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del Controller
 
Da A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di CognitiveDa A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di Cognitive
 

More from I3P

Lean uxforstartup
Lean uxforstartupLean uxforstartup
Lean uxforstartup
I3P
 
Ottenere visibilità sulla stampa
Ottenere visibilità sulla stampaOttenere visibilità sulla stampa
Ottenere visibilità sulla stampa
I3P
 
Business model canvas
Business model canvasBusiness model canvas
Business model canvas
I3P
 

More from I3P (20)

Security by design: la cyber security per un progetto innovativo
Security by design: la cyber security per un progetto innovativoSecurity by design: la cyber security per un progetto innovativo
Security by design: la cyber security per un progetto innovativo
 
Bitcoin & blockchain
Bitcoin & blockchainBitcoin & blockchain
Bitcoin & blockchain
 
Blockchain Academy
Blockchain Academy Blockchain Academy
Blockchain Academy
 
Facebook ADs like a PRO: tool e strategie per campagne di successo
Facebook ADs like a PRO: tool e strategie per campagne di successoFacebook ADs like a PRO: tool e strategie per campagne di successo
Facebook ADs like a PRO: tool e strategie per campagne di successo
 
Il GDPR nel diritto del lavoro
Il GDPR nel diritto del lavoroIl GDPR nel diritto del lavoro
Il GDPR nel diritto del lavoro
 
Il GDPR nelle startup
Il GDPR nelle startupIl GDPR nelle startup
Il GDPR nelle startup
 
Il funnel perfetto per il web marketing: tutto sulle landing page fino alle c...
Il funnel perfetto per il web marketing: tutto sulle landing page fino alle c...Il funnel perfetto per il web marketing: tutto sulle landing page fino alle c...
Il funnel perfetto per il web marketing: tutto sulle landing page fino alle c...
 
Come comunicare a giornalisti e influencer
Come comunicare a giornalisti e influencerCome comunicare a giornalisti e influencer
Come comunicare a giornalisti e influencer
 
Influencer Marketing: dai top influencer agli smart influencer
Influencer Marketing: dai top influencer agli smart influencerInfluencer Marketing: dai top influencer agli smart influencer
Influencer Marketing: dai top influencer agli smart influencer
 
Dal Corporate Storytelling al Racconto Transmediale
Dal Corporate Storytelling al Racconto TransmedialeDal Corporate Storytelling al Racconto Transmediale
Dal Corporate Storytelling al Racconto Transmediale
 
Dalla Pubblicita alle Partnership
Dalla Pubblicita alle PartnershipDalla Pubblicita alle Partnership
Dalla Pubblicita alle Partnership
 
Storytelling: istruzioni per l'uso.
Storytelling: istruzioni per l'uso.Storytelling: istruzioni per l'uso.
Storytelling: istruzioni per l'uso.
 
Commercio online con Bitcoin
Commercio online con Bitcoin Commercio online con Bitcoin
Commercio online con Bitcoin
 
Presentazione del mining Bitcoin
Presentazione del mining BitcoinPresentazione del mining Bitcoin
Presentazione del mining Bitcoin
 
L'industria dei videogiochi in Italia @ Turin Jam Today
L'industria dei videogiochi in Italia @ Turin Jam TodayL'industria dei videogiochi in Italia @ Turin Jam Today
L'industria dei videogiochi in Italia @ Turin Jam Today
 
Branding vita e conflitti del marchio: il punto di vista legale
Branding vita e conflitti del marchio: il punto di vista legaleBranding vita e conflitti del marchio: il punto di vista legale
Branding vita e conflitti del marchio: il punto di vista legale
 
Lean uxforstartup
Lean uxforstartupLean uxforstartup
Lean uxforstartup
 
Dal naming all'immagine coordinata. Come costruire il brand di una startup
Dal naming all'immagine coordinata. Come costruire il brand di una startup    Dal naming all'immagine coordinata. Come costruire il brand di una startup
Dal naming all'immagine coordinata. Come costruire il brand di una startup
 
Ottenere visibilità sulla stampa
Ottenere visibilità sulla stampaOttenere visibilità sulla stampa
Ottenere visibilità sulla stampa
 
Business model canvas
Business model canvasBusiness model canvas
Business model canvas
 

Oauth2