oauth: gerenciamento de acessos para clientes de apis
TRANSCRIPT
Fábio Assunção da Silva front-end / back-end developer
www.fabioassuncao.com.br
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.
OAuth2 Gerenciamento de acessos para clientes de APIs
O que é OAuth? Um padrão aberto para autenticação
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.
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”
Quem usa?
VOCE
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.
ObjeCvo Permit i r que uma apl icação possa acessar determinadas APIs no lugar do usuário de forma segura e padronizada.
A autenCcação por meio do OAuth consiste de três passos
Referência: h
Jp://www.4shared
.com
/
SOLICITAÇÃO
1) Aplicação cliente obtém chave de autenCcação
Referência: h
Jp://goo.gl/6YW
6md
Referência: h
Jps://w
ww.fa
cebo
ok.com
AUTORIZAÇÃO
2) Usuário autoriza aplicação cliente na aplicação servidora
Referência: h
Jp://goo.gl/6YW
6md
Referência: h
Jp://www.4shared
.com
/
CONTROLE DE ACESSOS CLIENTE
3) Aplicação cliente troca a chave de autenCcação pela chave de acesso
Referência: h
Jp://goo.gl/6YW
6md
Referência: h
Jps://w
ww.fa
cebo
ok.com
REVOGAR ACESSO
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
Segurança O usuário deve ter cuidado ao autorizar aplicações
clientes e conceder apenas os privilégios necessários.
Como uClizar em um Sistema, site, blog ou aplicaCvo ?
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
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