oauth: gerenciamento de acessos para clientes de apis

24
Fábio Assunção da Silva front-end / back-end developer www.fabioassuncao.com.br

Upload: fabio-assuncao

Post on 20-Jul-2015

260 views

Category:

Software


3 download

TRANSCRIPT

Page 1: OAuth: Gerenciamento de acessos para clientes de APIs

Fábio  Assunção  da  Silva  front-end / back-end developer

www.fabioassuncao.com.br

Page 2: OAuth: Gerenciamento de acessos para clientes de APIs

Sobre  Front-end / back-end developer na VAT Tecnologia SA, graduando em Sistemas de Informação, pai do Gabriel, apaixonado por fígado and Babitinha, interessado em UX e Interaction Design.

Page 3: OAuth: Gerenciamento de acessos para clientes de APIs
Page 4: OAuth: Gerenciamento de acessos para clientes de APIs

OAuth2  Gerenciamento de acessos para clientes de APIs

Page 5: OAuth: Gerenciamento de acessos para clientes de APIs

O  que  é  OAuth?  Um padrão aberto para autenticação

Page 6: OAuth: Gerenciamento de acessos para clientes de APIs
Page 7: OAuth: Gerenciamento de acessos para clientes de APIs

Como  surgiu?    OAuth surgiu em 2006 quando Blaine Cook estava implementando o Twitter OpenID e notou que o mesmo tinha muitas limitações e não delegava acessos, também não havia um padrão aberto para autenticação de acesso a APIs. Em 2007 OAuth discussion group foi criado por um grupo de desenvolvedores que se empenharam em resolver esse problema. Entre eles, Blaine Cook, Chris Messina, Larry Halff, David Recordon, Eran Hammer, DeWitt Clinton.

Page 8: OAuth: Gerenciamento de acessos para clientes de APIs

Timeline  11/2006 Surgiu a ideia 04/2007 Criação do OAuth discussion group 07/2007 Projeto da versão 1.0 04/2009 “Faça login com o Twitter”

Page 9: OAuth: Gerenciamento de acessos para clientes de APIs

Quem  usa?  

VOCE  

Page 10: OAuth: Gerenciamento de acessos para clientes de APIs

Nos últimos anos, com a tão aclamada Web 2.0 muitos serviços passaram a fornecer APIs que podem ser usadas por terceiros. Twitter, Google, Facebook são alguns exemplos.

Page 11: OAuth: Gerenciamento de acessos para clientes de APIs

ObjeCvo  Permit i r que uma apl icação possa acessar determinadas APIs no lugar do usuário de forma segura e padronizada.

Page 12: OAuth: Gerenciamento de acessos para clientes de APIs

A  autenCcação  por  meio  do    OAuth  consiste  de  três  passos

Page 13: OAuth: Gerenciamento de acessos para clientes de APIs

Referência:  h

Jp://www.4shared

.com

/  

SOLICITAÇÃO  

Page 14: OAuth: Gerenciamento de acessos para clientes de APIs

1)  Aplicação  cliente  obtém  chave  de  autenCcação  

Referência:  h

Jp://goo.gl/6YW

6md  

Page 15: OAuth: Gerenciamento de acessos para clientes de APIs

Referência:  h

Jps://w

ww.fa

cebo

ok.com

 

AUTORIZAÇÃO  

Page 16: OAuth: Gerenciamento de acessos para clientes de APIs

2)  Usuário  autoriza  aplicação    cliente  na  aplicação  servidora  

Referência:  h

Jp://goo.gl/6YW

6md  

Page 17: OAuth: Gerenciamento de acessos para clientes de APIs

Referência:  h

Jp://www.4shared

.com

/  

CONTROLE  DE  ACESSOS  CLIENTE  

Page 18: OAuth: Gerenciamento de acessos para clientes de APIs

3)  Aplicação  cliente  troca  a  chave  de    autenCcação  pela  chave  de  acesso  

Referência:  h

Jp://goo.gl/6YW

6md  

Page 19: OAuth: Gerenciamento de acessos para clientes de APIs

Referência:  h

Jps://w

ww.fa

cebo

ok.com

 

REVOGAR  ACESSO  

Page 20: OAuth: Gerenciamento de acessos para clientes de APIs

Algumas  vantagens    Flexibilidade

Independente de implementação

Deployment diverso (público, privado e corporativo)

Interoperabilidade (web, mobile , desktop)

Utilizar serviços que o usuário confia

Pode-se trocar de implementação facilmente

Page 21: OAuth: Gerenciamento de acessos para clientes de APIs

Segurança O usuário deve ter cuidado ao autorizar aplicações

clientes e conceder apenas os privilégios necessários.

Page 22: OAuth: Gerenciamento de acessos para clientes de APIs

Como  uClizar  em  um    Sistema,  site,  blog  ou    aplicaCvo  ?  

Page 23: OAuth: Gerenciamento de acessos para clientes de APIs

1. Cadastre seu aplicativo

https://developers.facebook.com/

https://dev.twitter.com/

https://developers.google.com

2. Utilize uma lib, framework ou desenvolva seu script

http://oauth.net/2/

https://github.com/fkooman/php-oauth-client

https://github.com/ivan-novakov/php-openid-connect-client

https://github.com/ssx/oauth-facebook-examples

http://www.phpclasses.org/package/7700-PHP-Authorize-and-access-APIs-using-OAuth.html

Page 24: OAuth: Gerenciamento de acessos para clientes de APIs

Referências  http://oauth.net/ http://hueniverse.com/oauth/guide/ http://hueniverse.com/2007/10/04/beginners-guide-to-oauth-part-i-overview/ http://www.slideshare.net/gigantedesousa/quemtemmedoo-auth http://www.slideshare.net/GuilhermeHenriqueOliveira/coderockrjam-entendendo-oauth-com-zend http://goo.gl/6YW6md