SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Entendendo	
  OAuth	
  com	
  Zend	
  
Guilherme	
  Oliveira	
  -­‐	
  @_holiveira	
  




                                                  Jam
                                                  2011!
Agenda	
  

•    Como	
  surgiu?	
  
•    Como	
  funciona?	
  
•    Por	
  que	
  usar?	
  
•    Parte	
  práAca	
  




                               Jam
                               2011!
whoami	
  

•    Sistemas	
  de	
  Informação	
  –	
  IST	
  
•    Desenvolvedor	
  PHP/Android	
  
•    Adobe	
  Flex	
  4	
  CerAfied	
  
•    Devandcoffee.com	
  




                                                    Jam
                                                    2011!
Como	
  surgiu?	
  
•    História	
  
•    Inspirações	
  
•    Datas	
  importantes	
  




                                Jam
                                2011!
História	
  

A	
  necessidade	
  de	
  criação	
  surgiu	
  em	
  novembro	
  
de	
  2006	
  enquanto	
  Blaine	
  Cook	
  trabalhava	
  na	
  
implementação	
  do	
  TwiZer	
  OpenID.	
  
OpenID	
  não	
  delega	
  acessos.	
  




                                                                    Jam
                                                                    2011!
Inspirações	
  

•  Flickr	
  Auth	
  
•  Google	
  AuthSub	
  
•  Yahoo!	
  BBAuth	
  
	
  
Padrão	
  aberto	
  tanto	
  
cliente	
  quanto	
  
servidor.	
  

	
                              Jam
                                2011!
Datas	
  imporantes	
  

•      Novembro	
  2006	
  –	
  Ideia	
  
•      Dezembro	
  2006	
  –	
  CiAzen	
  Space	
  
•      Abril	
  2007	
  –	
  OpenAuth	
  Group	
  
•      Julho	
  2007	
  –	
  Draa	
  versão	
  1.0	
  
•      Abril	
  2009	
  –	
  “Sign	
  in	
  with	
  TwiZer”	
  
•      Abrir	
  2009	
  –	
  Revisão	
  A	
  
	
  

                                                                  Jam
                                                                  2011!
Como	
  funciona?	
  
•    Analogia	
  Valet	
  Key	
  
•    Presta	
  atenção,	
  sério!	
  
•    Quais	
  os	
  atores?	
  
•    Quais	
  são	
  as	
  chaves?	
  
•    Como	
  é	
  o	
  fluxo?	
  




                                         Jam
                                         2011!
Analogia	
  Valet	
  Key	
  

•  Dirigir	
  por	
  certa	
  distancia	
  
•  Não	
  abrir	
  o	
  porta-­‐malas	
  
•  Bloquear	
  contatos	
  

ObjeAvo	
  é	
  limitar	
  o	
  acesso	
  
atráves	
  de	
  uma	
  chave!	
  
	
  

                                              Jam
                                              2011!
Presta	
  atenção,	
  sério!	
  

Está	
  é	
  a	
  parte	
  técnica	
  que	
  é	
  
quase	
  sempre	
  ignorada	
  pelo	
  
seu	
  cérebro,	
  é	
  hora	
  de	
  
acordar	
  e	
  entender	
  como	
  é	
  o	
  
funcionamento	
  do	
  OAuth.	
  




                                                     Jam
                                                     2011!
Quais	
  os	
  atores?	
  




  Consumer	
           Service	
  Provider	
     User	
  




                                                        Jam
                                                        2011!
Quais	
  são	
  as	
  chaves?	
  
Consumer	
  Key	
                  Request	
  Token	
                   Access	
  Token	
  




•  Criada	
  ao	
  cadastrar	
     •  Chave	
  de	
                     •  Chave	
  de	
  
   a	
  aplicação.	
                  autenAcação.	
                       autorização.	
  
•  Usada	
  para	
  saber	
        •  Requisitada	
  a	
                •  Requisitada	
  toda	
  
   qual	
  aplicação	
  está	
        primeira	
  vez	
  que	
             vez	
  que	
  você	
  vai	
  
   sendo	
  autorizada.	
             você	
  vai	
  permiAr	
  a	
        acessar	
  um	
  recurso.	
  
•  É	
  como	
  o	
                   aplicação.	
  
   idenAficador.	
                  •  Usar	
  técnicas	
  de	
  
                                      armazenamento.	
  




                                                                                                   Jam
                                                                                                   2011!
Como	
  é	
  o	
  fluxo?	
  




                              Jam
                              2011!
Por	
  que	
  usar?	
  
•    Para	
  o	
  desenvolvedor	
  
•    Adote	
  seu	
  usuário	
  
•    PermiAr	
  tudo	
  sem	
  medo!	
  




                                           Jam
                                           2011!
Comparada	
  com	
  REST	
  




                               Jam
                               2011!
Para	
  o	
  desenvolvedor	
  
•  Fácilidade	
  de	
  implementação;	
  
•  Fácilidade	
  de	
  manutenção;	
  

Quantas	
  vezes	
  seus	
  usuário	
  
cadastram-­‐se	
  com	
  dados	
  ficscios	
  
pela	
  aplicação	
  precisar	
  de	
  
cadastro?	
  
	
  
Quantas	
  vezes	
  seus	
  usuários	
  
cadastram-­‐se	
  com	
  dados	
  
“dasdasd”	
  pela	
  aplicação	
  ser	
  
desconhecida?	
  	
  




                                                Jam
                                                2011!
Cuide	
  do	
  seu	
  usuário	
  

•  Não	
  espalha	
  sua	
  senha;	
  
•  Controla	
  as	
  permissões	
  concedidas;	
  
•  Evita	
  cadastros	
  e	
  logins.	
  

Quantas	
  vezes	
  não	
  usamos	
  algum	
  recurso	
  do	
  
sistema	
  por	
  necessitar	
  de	
  cadastro?	
  

Quantas	
  vezes	
  não	
  nos	
  cadastramos	
  
pela	
  aplicação	
  não	
  parecer	
  confiável?	
  




                                                                  Jam
                                                                  2011!
PermiAr	
  tudo	
  sem	
  medo!	
  

•  Usuário	
  sem	
  
   consciência	
  
•  Chances	
  de	
  fazer	
  merda	
  
•  Não	
  sabe	
  revogar	
  
   permissão	
  




                                         Jam
                                         2011!
Let’s	
  code	
  !	
  




                         Jam
                         2011!

Contenu connexe

En vedette

INCREIBLE!! Proposta d'acord entre Sandro Rosell i una penya del Barça
INCREIBLE!! Proposta d'acord entre Sandro Rosell i una penya del BarçaINCREIBLE!! Proposta d'acord entre Sandro Rosell i una penya del Barça
INCREIBLE!! Proposta d'acord entre Sandro Rosell i una penya del BarçaSandro NOOOOO
 
opciones de aprendizaje alternativo
opciones de aprendizaje alternativoopciones de aprendizaje alternativo
opciones de aprendizaje alternativoyadira ceballos
 
Снижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXСнижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXAndrii Podanenko
 
Test de personalitat. classic o romàntic
Test de personalitat. classic o romànticTest de personalitat. classic o romàntic
Test de personalitat. classic o romànticmusicaade
 
Copia de familia
Copia de familiaCopia de familia
Copia de familiajjodimio
 
Presentación de los talleres Cocina tu idea en la UPV de Valencia
Presentación de los talleres Cocina tu idea en la UPV de ValenciaPresentación de los talleres Cocina tu idea en la UPV de Valencia
Presentación de los talleres Cocina tu idea en la UPV de Valencia📊 Isidro Pérez Ramón
 
Gotze khai màn cho bữa đại tiệc cho dortmund
Gotze khai màn cho bữa đại tiệc cho dortmundGotze khai màn cho bữa đại tiệc cho dortmund
Gotze khai màn cho bữa đại tiệc cho dortmundbongda00
 
DE MAGADAN AO INTERNAUTA: Novos a(u)tores discursivos na modernização da fic...
DE MAGADAN AO INTERNAUTA: Novos a(u)tores discursivos na modernização da  fic...DE MAGADAN AO INTERNAUTA: Novos a(u)tores discursivos na modernização da  fic...
DE MAGADAN AO INTERNAUTA: Novos a(u)tores discursivos na modernização da fic...Mariane Murakami
 
2010.05.14 disfraces infantil 3 y 4 años
2010.05.14   disfraces infantil 3 y 4 años2010.05.14   disfraces infantil 3 y 4 años
2010.05.14 disfraces infantil 3 y 4 añosColegio Los Pinos
 
Gamme DIN - DIN Unions - FG INOX
Gamme DIN - DIN Unions - FG INOXGamme DIN - DIN Unions - FG INOX
Gamme DIN - DIN Unions - FG INOXjeremy marcelino
 
INAKSYS IT
INAKSYS ITINAKSYS IT
INAKSYS ITC28894
 
Ejercicio de objeto de Aoor
Ejercicio de objeto de AoorEjercicio de objeto de Aoor
Ejercicio de objeto de AoorPerlaCarvajal
 
PRESENTACION DE TODOS, EL BICENTENARIO
PRESENTACION DE TODOS, EL BICENTENARIOPRESENTACION DE TODOS, EL BICENTENARIO
PRESENTACION DE TODOS, EL BICENTENARIOEscuela
 

En vedette (19)

INCREIBLE!! Proposta d'acord entre Sandro Rosell i una penya del Barça
INCREIBLE!! Proposta d'acord entre Sandro Rosell i una penya del BarçaINCREIBLE!! Proposta d'acord entre Sandro Rosell i una penya del Barça
INCREIBLE!! Proposta d'acord entre Sandro Rosell i una penya del Barça
 
opciones de aprendizaje alternativo
opciones de aprendizaje alternativoopciones de aprendizaje alternativo
opciones de aprendizaje alternativo
 
Друпал Drush
Друпал DrushДрупал Drush
Друпал Drush
 
Gpsmap 620
Gpsmap 620Gpsmap 620
Gpsmap 620
 
Echo 200
Echo 200Echo 200
Echo 200
 
Fotos
FotosFotos
Fotos
 
Снижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINXСнижение нагрузки на сервер с помощью NGINX
Снижение нагрузки на сервер с помощью NGINX
 
Test de personalitat. classic o romàntic
Test de personalitat. classic o romànticTest de personalitat. classic o romàntic
Test de personalitat. classic o romàntic
 
Copia de familia
Copia de familiaCopia de familia
Copia de familia
 
Novo Nordisk 2
Novo Nordisk 2Novo Nordisk 2
Novo Nordisk 2
 
Presentación de los talleres Cocina tu idea en la UPV de Valencia
Presentación de los talleres Cocina tu idea en la UPV de ValenciaPresentación de los talleres Cocina tu idea en la UPV de Valencia
Presentación de los talleres Cocina tu idea en la UPV de Valencia
 
Gotze khai màn cho bữa đại tiệc cho dortmund
Gotze khai màn cho bữa đại tiệc cho dortmundGotze khai màn cho bữa đại tiệc cho dortmund
Gotze khai màn cho bữa đại tiệc cho dortmund
 
DE MAGADAN AO INTERNAUTA: Novos a(u)tores discursivos na modernização da fic...
DE MAGADAN AO INTERNAUTA: Novos a(u)tores discursivos na modernização da  fic...DE MAGADAN AO INTERNAUTA: Novos a(u)tores discursivos na modernização da  fic...
DE MAGADAN AO INTERNAUTA: Novos a(u)tores discursivos na modernização da fic...
 
2010.05.14 disfraces infantil 3 y 4 años
2010.05.14   disfraces infantil 3 y 4 años2010.05.14   disfraces infantil 3 y 4 años
2010.05.14 disfraces infantil 3 y 4 años
 
Gamme DIN - DIN Unions - FG INOX
Gamme DIN - DIN Unions - FG INOXGamme DIN - DIN Unions - FG INOX
Gamme DIN - DIN Unions - FG INOX
 
INAKSYS IT
INAKSYS ITINAKSYS IT
INAKSYS IT
 
Dicionário legislativo
Dicionário legislativoDicionário legislativo
Dicionário legislativo
 
Ejercicio de objeto de Aoor
Ejercicio de objeto de AoorEjercicio de objeto de Aoor
Ejercicio de objeto de Aoor
 
PRESENTACION DE TODOS, EL BICENTENARIO
PRESENTACION DE TODOS, EL BICENTENARIOPRESENTACION DE TODOS, EL BICENTENARIO
PRESENTACION DE TODOS, EL BICENTENARIO
 

Similaire à Understanding OAuth with Zend

Design Digital em Plataformas Móveis
Design Digital em Plataformas MóveisDesign Digital em Plataformas Móveis
Design Digital em Plataformas MóveisPaolo Passeri
 
Design de Interfaces para Dispositivos Móveis
Design de Interfaces para Dispositivos MóveisDesign de Interfaces para Dispositivos Móveis
Design de Interfaces para Dispositivos MóveisInstituto Faber-Ludens
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento MobileElton Minetto
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoAlexandre Andrade
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de TrabalhoEduardo Carvalho
 
Introdução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapIntrodução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapDiogo Souza Machado
 
Workshop Design para Dispositivos Móveis
Workshop Design para Dispositivos MóveisWorkshop Design para Dispositivos Móveis
Workshop Design para Dispositivos MóveisInstituto Faber-Ludens
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Palestra FISL Metasploit Framework: a Lightsaber for Pentesters!
Palestra FISL Metasploit Framework: a Lightsaber for Pentesters!Palestra FISL Metasploit Framework: a Lightsaber for Pentesters!
Palestra FISL Metasploit Framework: a Lightsaber for Pentesters!Clavis Segurança da Informação
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
 
LT - Aceite os testes de Aceitação!
LT - Aceite os testes de Aceitação!LT - Aceite os testes de Aceitação!
LT - Aceite os testes de Aceitação!Handerson Frota
 
Quero ser um caçador de bugs
Quero ser um caçador de bugsQuero ser um caçador de bugs
Quero ser um caçador de bugsSarah Pimentel
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDomingos Teruel
 

Similaire à Understanding OAuth with Zend (20)

Design Digital em Plataformas Móveis
Design Digital em Plataformas MóveisDesign Digital em Plataformas Móveis
Design Digital em Plataformas Móveis
 
Design de Interfaces para Dispositivos Móveis
Design de Interfaces para Dispositivos MóveisDesign de Interfaces para Dispositivos Móveis
Design de Interfaces para Dispositivos Móveis
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinho
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Agile official
Agile officialAgile official
Agile official
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de Trabalho
 
8 d iniciando_iphone_ios4
8 d iniciando_iphone_ios48 d iniciando_iphone_ios4
8 d iniciando_iphone_ios4
 
Como Se Dar Bem Com Java
Como Se Dar Bem Com JavaComo Se Dar Bem Com Java
Como Se Dar Bem Com Java
 
Introdução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapIntrodução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com Phonegap
 
Workshop Design para Dispositivos Móveis
Workshop Design para Dispositivos MóveisWorkshop Design para Dispositivos Móveis
Workshop Design para Dispositivos Móveis
 
Joomla! para iniciantes
Joomla! para iniciantesJoomla! para iniciantes
Joomla! para iniciantes
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Entity framework
Entity frameworkEntity framework
Entity framework
 
Palestra FISL Metasploit Framework: a Lightsaber for Pentesters!
Palestra FISL Metasploit Framework: a Lightsaber for Pentesters!Palestra FISL Metasploit Framework: a Lightsaber for Pentesters!
Palestra FISL Metasploit Framework: a Lightsaber for Pentesters!
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
Desvendando o mundo iOS
Desvendando o mundo iOSDesvendando o mundo iOS
Desvendando o mundo iOS
 
LT - Aceite os testes de Aceitação!
LT - Aceite os testes de Aceitação!LT - Aceite os testes de Aceitação!
LT - Aceite os testes de Aceitação!
 
Quero ser um caçador de bugs
Quero ser um caçador de bugsQuero ser um caçador de bugs
Quero ser um caçador de bugs
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
 

Understanding OAuth with Zend

  • 1. Entendendo  OAuth  com  Zend   Guilherme  Oliveira  -­‐  @_holiveira   Jam 2011!
  • 2. Agenda   •  Como  surgiu?   •  Como  funciona?   •  Por  que  usar?   •  Parte  práAca   Jam 2011!
  • 3. whoami   •  Sistemas  de  Informação  –  IST   •  Desenvolvedor  PHP/Android   •  Adobe  Flex  4  CerAfied   •  Devandcoffee.com   Jam 2011!
  • 4. Como  surgiu?   •  História   •  Inspirações   •  Datas  importantes   Jam 2011!
  • 5. História   A  necessidade  de  criação  surgiu  em  novembro   de  2006  enquanto  Blaine  Cook  trabalhava  na   implementação  do  TwiZer  OpenID.   OpenID  não  delega  acessos.   Jam 2011!
  • 6. Inspirações   •  Flickr  Auth   •  Google  AuthSub   •  Yahoo!  BBAuth     Padrão  aberto  tanto   cliente  quanto   servidor.     Jam 2011!
  • 7. Datas  imporantes   •  Novembro  2006  –  Ideia   •  Dezembro  2006  –  CiAzen  Space   •  Abril  2007  –  OpenAuth  Group   •  Julho  2007  –  Draa  versão  1.0   •  Abril  2009  –  “Sign  in  with  TwiZer”   •  Abrir  2009  –  Revisão  A     Jam 2011!
  • 8. Como  funciona?   •  Analogia  Valet  Key   •  Presta  atenção,  sério!   •  Quais  os  atores?   •  Quais  são  as  chaves?   •  Como  é  o  fluxo?   Jam 2011!
  • 9. Analogia  Valet  Key   •  Dirigir  por  certa  distancia   •  Não  abrir  o  porta-­‐malas   •  Bloquear  contatos   ObjeAvo  é  limitar  o  acesso   atráves  de  uma  chave!     Jam 2011!
  • 10. Presta  atenção,  sério!   Está  é  a  parte  técnica  que  é   quase  sempre  ignorada  pelo   seu  cérebro,  é  hora  de   acordar  e  entender  como  é  o   funcionamento  do  OAuth.   Jam 2011!
  • 11. Quais  os  atores?   Consumer   Service  Provider   User   Jam 2011!
  • 12. Quais  são  as  chaves?   Consumer  Key   Request  Token   Access  Token   •  Criada  ao  cadastrar   •  Chave  de   •  Chave  de   a  aplicação.   autenAcação.   autorização.   •  Usada  para  saber   •  Requisitada  a   •  Requisitada  toda   qual  aplicação  está   primeira  vez  que   vez  que  você  vai   sendo  autorizada.   você  vai  permiAr  a   acessar  um  recurso.   •  É  como  o   aplicação.   idenAficador.   •  Usar  técnicas  de   armazenamento.   Jam 2011!
  • 13. Como  é  o  fluxo?   Jam 2011!
  • 14. Por  que  usar?   •  Para  o  desenvolvedor   •  Adote  seu  usuário   •  PermiAr  tudo  sem  medo!   Jam 2011!
  • 15. Comparada  com  REST   Jam 2011!
  • 16. Para  o  desenvolvedor   •  Fácilidade  de  implementação;   •  Fácilidade  de  manutenção;   Quantas  vezes  seus  usuário   cadastram-­‐se  com  dados  ficscios   pela  aplicação  precisar  de   cadastro?     Quantas  vezes  seus  usuários   cadastram-­‐se  com  dados   “dasdasd”  pela  aplicação  ser   desconhecida?     Jam 2011!
  • 17. Cuide  do  seu  usuário   •  Não  espalha  sua  senha;   •  Controla  as  permissões  concedidas;   •  Evita  cadastros  e  logins.   Quantas  vezes  não  usamos  algum  recurso  do   sistema  por  necessitar  de  cadastro?   Quantas  vezes  não  nos  cadastramos   pela  aplicação  não  parecer  confiável?   Jam 2011!
  • 18. PermiAr  tudo  sem  medo!   •  Usuário  sem   consciência   •  Chances  de  fazer  merda   •  Não  sabe  revogar   permissão   Jam 2011!
  • 19. Let’s  code  !   Jam 2011!