SlideShare uma empresa Scribd logo
1 de 20
Luiz Fernando Duarte Júnior
Tales Bitelo Viegas - Orientador
Introdução
 Cenário Atual
 Desafios do cenário atual
 Delegação de Acesso
 Desafios com Delegação de Acesso
 Protocolo OAuth 1.0
 Fluxo Básico
 Protótipo Desenvolvido
 Demonstrações
http://www.luiztools.com.br
Cenário Atual
 De um lado, Aplicações provedoras de
conteúdo querem compartilhar seus
recursos com outras aplicações.
http://www.luiztools.com.br
Cenário Atual
 Do outro lado, Serviços web e desktop
querem interagir com estas aplicações,
consumindo seus recursos.
http://www.luiztools.com.br
Desafios Existentes
 Fornecer os recursos de minha aplicação
sem comprometer a minha segurança e
dos meus usuários.
 Definir exatamente quais recursos vou
compartilhar.
 Não quero que serviços de terceiros
peçam ou armazenem as credenciais dos
meus usuários.
http://www.luiztools.com.br
Solução: Delegação de Acesso
 São responsáveis por fornecer acesso
personalizado para aplicações sobre recursos
em outras aplicações.
 Estabelece conexões entre os dois serviços:
provedor e consumidor, sem a necessidade de
armazenar as credenciais do usuário.
 Permite que os usuários reivindiquem as
permissões dadas a qualquer momento sem
transtorno algum.
http://www.luiztools.com.br
Mais desafios...
 A maioria dos sistemas de delegação de
acesso são proprietários e muito
complicados:
 Yahoo! BBAuth
 Google AuthSub
 Flickr Auth
 AOL OpenAuth
 Até 2007, não tínhamos uma alternativa
simples, eficiente e open-source...
http://www.luiztools.com.br
Protocolo OAuth
http://www.luiztools.com.br
Protocolo OAuth 1.0
 Inspirado nos grandes protocolos
proprietários
 Simples, extensível e open-source
 Propõe uma forma padronizada para
oferecer recursos e serviços sem
comprometer a segurança
http://www.luiztools.com.br
Protocolo OAuth 1.0
 Especificação “genérica”:
 Independente de SO
 Independente de linguagem
 Ajustável ao seu problema
 Objetivo:
 Suprir a carência de um protocolo aberto e
de fácil implementação para aplicações web
e desktop.
http://www.luiztools.com.br
Fluxo Básico: Passo 1
http://www.luiztools.com.br
Fluxo Básico: Passo 2
http://www.luiztools.com.br
Fluxo Básico: Passo 3
http://www.luiztools.com.br
Fluxo Básico: Passo 4
http://www.luiztools.com.br
Protótipo desenvolvido
 OAuth.Net.Br
 Biblioteca de classes completa
 Open-source
 Extensível
 Configurável
 Inclui exemplos de clientes e servidor
http://www.luiztools.com.br
Protótipo desenvolvido
 OAuth.Net.Br
 Baseada em bibliotecas existentes
 Extremamente simples
 Funcionalidades básicas
 Uso web e desktop
 De acordo com a especificação 1.0 do
protocolo
http://www.luiztools.com.br
Demonstração
 Demo 1: Cliente web acessando o
servidor
 Configurações do servidor e cliente
 Teste do cliente com o servidor
 Teste do cliente com servidor de terceiros
http://www.luiztools.com.br
Demonstração
 Demo 2: Cliente desktop acessando o
servidor
 Mesma configuração de servidor e cliente
 Teste do cliente com o servidor
 Teste do cliente com servidor de terceiros
http://www.luiztools.com.br
Demonstração
 Demo 3: Cliente de terceiros acessando
o servidor
 Configuração do cliente de terceiros
 Mesma configuração do servidor
 Teste do cliente de terceiros com o servidor
http://www.luiztools.com.br
Dúvidas
http://www.luiztools.com.br

Mais conteúdo relacionado

Destaque

OpenMid - Middleware Android para bancos de dados móveis
OpenMid - Middleware Android para bancos de dados móveisOpenMid - Middleware Android para bancos de dados móveis
OpenMid - Middleware Android para bancos de dados móveisLuiz Duarte
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de ScrumLuiz Duarte
 
A Revolução Mobile
A Revolução MobileA Revolução Mobile
A Revolução MobileLuiz Duarte
 
Meu primeiro app android
Meu primeiro app androidMeu primeiro app android
Meu primeiro app androidLuiz Duarte
 
Publicação independente de livros
Publicação independente de livrosPublicação independente de livros
Publicação independente de livrosLuiz Duarte
 
Curso de Android - Módulo 02
Curso de Android - Módulo 02Curso de Android - Módulo 02
Curso de Android - Módulo 02Luiz Duarte
 
Comunicação ubíqua
Comunicação ubíquaComunicação ubíqua
Comunicação ubíquaLuiz Duarte
 

Destaque (7)

OpenMid - Middleware Android para bancos de dados móveis
OpenMid - Middleware Android para bancos de dados móveisOpenMid - Middleware Android para bancos de dados móveis
OpenMid - Middleware Android para bancos de dados móveis
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de Scrum
 
A Revolução Mobile
A Revolução MobileA Revolução Mobile
A Revolução Mobile
 
Meu primeiro app android
Meu primeiro app androidMeu primeiro app android
Meu primeiro app android
 
Publicação independente de livros
Publicação independente de livrosPublicação independente de livros
Publicação independente de livros
 
Curso de Android - Módulo 02
Curso de Android - Módulo 02Curso de Android - Módulo 02
Curso de Android - Módulo 02
 
Comunicação ubíqua
Comunicação ubíquaComunicação ubíqua
Comunicação ubíqua
 

Semelhante a Implementação do protocolo OAuth 1.0 com protótipo em .NET

Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPElton Minetto
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B Rguestb9d145
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3Fabrício Basto
 
Artigo Jornalistico Web D
Artigo Jornalistico   Web DArtigo Jornalistico   Web D
Artigo Jornalistico Web DJozelena
 
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDesenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDomingos Teruel
 
Desenvolvendo Aplicações com PHP, AJAX e YUI!
Desenvolvendo Aplicações com PHP, AJAX e YUI!Desenvolvendo Aplicações com PHP, AJAX e YUI!
Desenvolvendo Aplicações com PHP, AJAX e YUI!Manuel Lemos
 
Introdução a programação em python d3
Introdução a programação em python d3Introdução a programação em python d3
Introdução a programação em python d3Moises de Paula
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxLuiz Antonio
 
Desenvolvendo com Java Open Source
Desenvolvendo com Java Open SourceDesenvolvendo com Java Open Source
Desenvolvendo com Java Open Sourcearmeniocardoso
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do morehfsantos
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34Mayara Fernandes
 
Dicinario multimedia
Dicinario multimediaDicinario multimedia
Dicinario multimediaPaula Lopes
 
Clients pb dl03-web-v.4.8
Clients pb dl03-web-v.4.8Clients pb dl03-web-v.4.8
Clients pb dl03-web-v.4.8confidencial
 

Semelhante a Implementação do protocolo OAuth 1.0 com protótipo em .NET (20)

Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Open Social
Open SocialOpen Social
Open Social
 
Software livre - Parte 3
Software livre - Parte 3Software livre - Parte 3
Software livre - Parte 3
 
Artigo Jornalistico Web D
Artigo Jornalistico   Web DArtigo Jornalistico   Web D
Artigo Jornalistico Web D
 
Empresa 2.0
Empresa 2.0Empresa 2.0
Empresa 2.0
 
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDesenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
 
Desenvolvendo Aplicações com PHP, AJAX e YUI!
Desenvolvendo Aplicações com PHP, AJAX e YUI!Desenvolvendo Aplicações com PHP, AJAX e YUI!
Desenvolvendo Aplicações com PHP, AJAX e YUI!
 
Introdução a Programação Web
Introdução a Programação WebIntrodução a Programação Web
Introdução a Programação Web
 
Introdução a programação em python d3
Introdução a programação em python d3Introdução a programação em python d3
Introdução a programação em python d3
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Beehive - Overview
Beehive - OverviewBeehive - Overview
Beehive - Overview
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do more
 
Desenvolvendo com Java Open Source
Desenvolvendo com Java Open SourceDesenvolvendo com Java Open Source
Desenvolvendo com Java Open Source
 
Introdução a Tecnologias Web
Introdução a Tecnologias WebIntrodução a Tecnologias Web
Introdução a Tecnologias Web
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do more
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34
 
Dicinario multimedia
Dicinario multimediaDicinario multimedia
Dicinario multimedia
 
Clients pb dl03-web-v.4.8
Clients pb dl03-web-v.4.8Clients pb dl03-web-v.4.8
Clients pb dl03-web-v.4.8
 

Mais de Luiz Duarte

Mecanismo de busca em Node.js e MongoDB
Mecanismo de busca em Node.js e MongoDBMecanismo de busca em Node.js e MongoDB
Mecanismo de busca em Node.js e MongoDBLuiz Duarte
 
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...Luiz Duarte
 
Team Building: Passo a Passo
Team Building: Passo a PassoTeam Building: Passo a Passo
Team Building: Passo a PassoLuiz Duarte
 
Curso Scrum e Métodos Ágeis 07
Curso Scrum e Métodos Ágeis 07Curso Scrum e Métodos Ágeis 07
Curso Scrum e Métodos Ágeis 07Luiz Duarte
 
Curso Scrum e Métodos Ágeis 04
Curso Scrum e Métodos Ágeis 04Curso Scrum e Métodos Ágeis 04
Curso Scrum e Métodos Ágeis 04Luiz Duarte
 
Curso Scrum e Métodos Ágeis 02
Curso Scrum e Métodos Ágeis 02Curso Scrum e Métodos Ágeis 02
Curso Scrum e Métodos Ágeis 02Luiz Duarte
 
Curso Scrum e Métodos Ágeis 03
Curso Scrum e Métodos Ágeis 03Curso Scrum e Métodos Ágeis 03
Curso Scrum e Métodos Ágeis 03Luiz Duarte
 
Curso Scrum e Métodos Ágeis - Introdução
Curso Scrum e Métodos Ágeis - IntroduçãoCurso Scrum e Métodos Ágeis - Introdução
Curso Scrum e Métodos Ágeis - IntroduçãoLuiz Duarte
 
Curso Scrum e Métodos Ágeis 01
Curso Scrum e Métodos Ágeis 01Curso Scrum e Métodos Ágeis 01
Curso Scrum e Métodos Ágeis 01Luiz Duarte
 
Curso Scrum e Métodos Ágeis 05
Curso Scrum e Métodos Ágeis 05Curso Scrum e Métodos Ágeis 05
Curso Scrum e Métodos Ágeis 05Luiz Duarte
 
Curso Scrum e Métodos Ágeis 06
Curso Scrum e Métodos Ágeis 06Curso Scrum e Métodos Ágeis 06
Curso Scrum e Métodos Ágeis 06Luiz Duarte
 
Carreira em Agilidade
Carreira em AgilidadeCarreira em Agilidade
Carreira em AgilidadeLuiz Duarte
 
Gamification em Modelos de Maturidade
Gamification em Modelos de MaturidadeGamification em Modelos de Maturidade
Gamification em Modelos de MaturidadeLuiz Duarte
 
Curso de Node.js e MongoDB - 20
Curso de Node.js e MongoDB - 20Curso de Node.js e MongoDB - 20
Curso de Node.js e MongoDB - 20Luiz Duarte
 
Curso de Node.js e MongoDB - 19
Curso de Node.js e MongoDB - 19Curso de Node.js e MongoDB - 19
Curso de Node.js e MongoDB - 19Luiz Duarte
 
Curso de Node.js e MongoDB - 18
Curso de Node.js e MongoDB - 18Curso de Node.js e MongoDB - 18
Curso de Node.js e MongoDB - 18Luiz Duarte
 
Curso de Node.js e MongoDB - 17
Curso de Node.js e MongoDB - 17Curso de Node.js e MongoDB - 17
Curso de Node.js e MongoDB - 17Luiz Duarte
 
Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16Luiz Duarte
 
Curso de Node.js e MongoDB - 15
Curso de Node.js e MongoDB - 15Curso de Node.js e MongoDB - 15
Curso de Node.js e MongoDB - 15Luiz Duarte
 
Curso de Node.js e MongoDB - 14
Curso de Node.js e MongoDB - 14Curso de Node.js e MongoDB - 14
Curso de Node.js e MongoDB - 14Luiz Duarte
 

Mais de Luiz Duarte (20)

Mecanismo de busca em Node.js e MongoDB
Mecanismo de busca em Node.js e MongoDBMecanismo de busca em Node.js e MongoDB
Mecanismo de busca em Node.js e MongoDB
 
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
 
Team Building: Passo a Passo
Team Building: Passo a PassoTeam Building: Passo a Passo
Team Building: Passo a Passo
 
Curso Scrum e Métodos Ágeis 07
Curso Scrum e Métodos Ágeis 07Curso Scrum e Métodos Ágeis 07
Curso Scrum e Métodos Ágeis 07
 
Curso Scrum e Métodos Ágeis 04
Curso Scrum e Métodos Ágeis 04Curso Scrum e Métodos Ágeis 04
Curso Scrum e Métodos Ágeis 04
 
Curso Scrum e Métodos Ágeis 02
Curso Scrum e Métodos Ágeis 02Curso Scrum e Métodos Ágeis 02
Curso Scrum e Métodos Ágeis 02
 
Curso Scrum e Métodos Ágeis 03
Curso Scrum e Métodos Ágeis 03Curso Scrum e Métodos Ágeis 03
Curso Scrum e Métodos Ágeis 03
 
Curso Scrum e Métodos Ágeis - Introdução
Curso Scrum e Métodos Ágeis - IntroduçãoCurso Scrum e Métodos Ágeis - Introdução
Curso Scrum e Métodos Ágeis - Introdução
 
Curso Scrum e Métodos Ágeis 01
Curso Scrum e Métodos Ágeis 01Curso Scrum e Métodos Ágeis 01
Curso Scrum e Métodos Ágeis 01
 
Curso Scrum e Métodos Ágeis 05
Curso Scrum e Métodos Ágeis 05Curso Scrum e Métodos Ágeis 05
Curso Scrum e Métodos Ágeis 05
 
Curso Scrum e Métodos Ágeis 06
Curso Scrum e Métodos Ágeis 06Curso Scrum e Métodos Ágeis 06
Curso Scrum e Métodos Ágeis 06
 
Carreira em Agilidade
Carreira em AgilidadeCarreira em Agilidade
Carreira em Agilidade
 
Gamification em Modelos de Maturidade
Gamification em Modelos de MaturidadeGamification em Modelos de Maturidade
Gamification em Modelos de Maturidade
 
Curso de Node.js e MongoDB - 20
Curso de Node.js e MongoDB - 20Curso de Node.js e MongoDB - 20
Curso de Node.js e MongoDB - 20
 
Curso de Node.js e MongoDB - 19
Curso de Node.js e MongoDB - 19Curso de Node.js e MongoDB - 19
Curso de Node.js e MongoDB - 19
 
Curso de Node.js e MongoDB - 18
Curso de Node.js e MongoDB - 18Curso de Node.js e MongoDB - 18
Curso de Node.js e MongoDB - 18
 
Curso de Node.js e MongoDB - 17
Curso de Node.js e MongoDB - 17Curso de Node.js e MongoDB - 17
Curso de Node.js e MongoDB - 17
 
Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16
 
Curso de Node.js e MongoDB - 15
Curso de Node.js e MongoDB - 15Curso de Node.js e MongoDB - 15
Curso de Node.js e MongoDB - 15
 
Curso de Node.js e MongoDB - 14
Curso de Node.js e MongoDB - 14Curso de Node.js e MongoDB - 14
Curso de Node.js e MongoDB - 14
 

Implementação do protocolo OAuth 1.0 com protótipo em .NET

  • 1. Luiz Fernando Duarte Júnior Tales Bitelo Viegas - Orientador
  • 2. Introdução  Cenário Atual  Desafios do cenário atual  Delegação de Acesso  Desafios com Delegação de Acesso  Protocolo OAuth 1.0  Fluxo Básico  Protótipo Desenvolvido  Demonstrações http://www.luiztools.com.br
  • 3. Cenário Atual  De um lado, Aplicações provedoras de conteúdo querem compartilhar seus recursos com outras aplicações. http://www.luiztools.com.br
  • 4. Cenário Atual  Do outro lado, Serviços web e desktop querem interagir com estas aplicações, consumindo seus recursos. http://www.luiztools.com.br
  • 5. Desafios Existentes  Fornecer os recursos de minha aplicação sem comprometer a minha segurança e dos meus usuários.  Definir exatamente quais recursos vou compartilhar.  Não quero que serviços de terceiros peçam ou armazenem as credenciais dos meus usuários. http://www.luiztools.com.br
  • 6. Solução: Delegação de Acesso  São responsáveis por fornecer acesso personalizado para aplicações sobre recursos em outras aplicações.  Estabelece conexões entre os dois serviços: provedor e consumidor, sem a necessidade de armazenar as credenciais do usuário.  Permite que os usuários reivindiquem as permissões dadas a qualquer momento sem transtorno algum. http://www.luiztools.com.br
  • 7. Mais desafios...  A maioria dos sistemas de delegação de acesso são proprietários e muito complicados:  Yahoo! BBAuth  Google AuthSub  Flickr Auth  AOL OpenAuth  Até 2007, não tínhamos uma alternativa simples, eficiente e open-source... http://www.luiztools.com.br
  • 9. Protocolo OAuth 1.0  Inspirado nos grandes protocolos proprietários  Simples, extensível e open-source  Propõe uma forma padronizada para oferecer recursos e serviços sem comprometer a segurança http://www.luiztools.com.br
  • 10. Protocolo OAuth 1.0  Especificação “genérica”:  Independente de SO  Independente de linguagem  Ajustável ao seu problema  Objetivo:  Suprir a carência de um protocolo aberto e de fácil implementação para aplicações web e desktop. http://www.luiztools.com.br
  • 11. Fluxo Básico: Passo 1 http://www.luiztools.com.br
  • 12. Fluxo Básico: Passo 2 http://www.luiztools.com.br
  • 13. Fluxo Básico: Passo 3 http://www.luiztools.com.br
  • 14. Fluxo Básico: Passo 4 http://www.luiztools.com.br
  • 15. Protótipo desenvolvido  OAuth.Net.Br  Biblioteca de classes completa  Open-source  Extensível  Configurável  Inclui exemplos de clientes e servidor http://www.luiztools.com.br
  • 16. Protótipo desenvolvido  OAuth.Net.Br  Baseada em bibliotecas existentes  Extremamente simples  Funcionalidades básicas  Uso web e desktop  De acordo com a especificação 1.0 do protocolo http://www.luiztools.com.br
  • 17. Demonstração  Demo 1: Cliente web acessando o servidor  Configurações do servidor e cliente  Teste do cliente com o servidor  Teste do cliente com servidor de terceiros http://www.luiztools.com.br
  • 18. Demonstração  Demo 2: Cliente desktop acessando o servidor  Mesma configuração de servidor e cliente  Teste do cliente com o servidor  Teste do cliente com servidor de terceiros http://www.luiztools.com.br
  • 19. Demonstração  Demo 3: Cliente de terceiros acessando o servidor  Configuração do cliente de terceiros  Mesma configuração do servidor  Teste do cliente de terceiros com o servidor http://www.luiztools.com.br

Notas do Editor

  1. Trocar nomes por logos
  2. Refazer imagem
  3. Refazer imagem
  4. Dividir em dois slides e refazer imagem
  5. Dividir em dois slides e refazer imagem
  6. Colocar imagem de ponto de interrogação gigante