CoderockrJam Entendendo OAuth com Zend

19
Entendendo OAuth com Zend Guilherme Oliveira @_holiveira Jam 2011

description

Presentation used on Coderockr Jam 2011

Transcript of CoderockrJam Entendendo OAuth com Zend

Page 1: CoderockrJam Entendendo OAuth com Zend

Entendendo  OAuth  com  Zend  Guilherme  Oliveira  -­‐  @_holiveira  

Jam 2011!

Page 2: CoderockrJam Entendendo OAuth com Zend

Agenda  

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

Jam 2011!

Page 3: CoderockrJam Entendendo OAuth com Zend

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

whoami  

Jam 2011!

Page 4: CoderockrJam Entendendo OAuth com Zend

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

Jam 2011!

Page 5: CoderockrJam Entendendo OAuth com Zend

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

História  

Jam 2011!

OpenID  não  delega  acessos.  

Page 6: CoderockrJam Entendendo OAuth com Zend

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

 

Inspirações  

Jam 2011!

Page 7: CoderockrJam Entendendo OAuth com Zend

•  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    

Datas  imporantes  

Jam 2011!

Page 8: CoderockrJam Entendendo OAuth com Zend

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

Jam 2011!

Page 9: CoderockrJam Entendendo OAuth com Zend

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

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

Analogia  Valet  Key  

Jam 2011!

Page 10: CoderockrJam Entendendo OAuth com Zend

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

Presta  atenção,  sério!  

Jam 2011!

Page 11: CoderockrJam Entendendo OAuth com Zend

Consumer  

Quais  os  atores?  

Jam 2011!

Service  Provider   User  

Page 12: CoderockrJam Entendendo OAuth com Zend

Quais  são  as  chaves?  

Jam 2011!

Consumer  Key   Request  Token   Access  Token  

•  Criada  ao  cadastrar  a  aplicação.  

•  Usada  para  saber  qual  aplicação  está  sendo  autorizada.  

•  É  como  o  idenAficador.  

•  Chave  de  autenAcação.  

•  Requisitada  a  primeira  vez  que  você  vai  permiAr  a  aplicação.  

•  Usar  técnicas  de  armazenamento.  

•  Chave  de  autorização.  

•  Requisitada  toda  vez  que  você  vai  acessar  um  recurso.  

Page 13: CoderockrJam Entendendo OAuth com Zend

Como  é  o  fluxo?  

Jam 2011!

Page 14: CoderockrJam Entendendo OAuth com Zend

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

Jam 2011!

Page 15: CoderockrJam Entendendo OAuth com Zend

Comparada  com  REST  

Jam 2011!

Page 16: CoderockrJam Entendendo OAuth com Zend

Para  o  desenvolvedor  

Jam 2011!

•  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?    

Page 17: CoderockrJam Entendendo OAuth com Zend

•  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?  

Cuide  do  seu  usuário  

Jam 2011!

Page 18: CoderockrJam Entendendo OAuth com Zend

•  Usuário  sem  consciência  

•  Chances  de  fazer  merda  •  Não  sabe  revogar  permissão  

PermiAr  tudo  sem  medo!  

Jam 2011!

Page 19: CoderockrJam Entendendo OAuth com Zend

Let’s  code  !  

Jam 2011!