OAuth 2.0 e OpenID Connect
WILLIAM
CALDERIPE
wcalderipe.com
Backend Developer na
Conrad Caine
OAuth 2.0 e OpenID Connect
Proprietário dos Recursos (PR)
Cliente
Servidor de Autorização (SA)
Servidor de Recursos (SR)
Conhecendo os 4 atores do OAuth
Proprietário dos Recursos (PR)
Cliente
Servidor de Autorização (SA)
Servidor de Recursos (SR)
O Cliente pede acesso ao SA
Proprietário dos Recursos (PR)
Cliente
Servidor de Autorização (SA)
Servidor de Recursos (SR)
O SA pede para o PR se autenticar
Proprietário dos Recursos (PR)
Cliente
Servidor de Autorização (SA)
Servidor de Recursos (SR)
O SA retorna um access token
Access Token (AT)
Proprietário dos Recursos (PR)
Cliente
Servidor de Autorização (SA)
Servidor de Recursos (SR)
O Cliente usa o AT para acessar os dados do PR
no SR
Access Token (AT)
Proprietário dos Recursos (PR)
Cliente
Servidor de Autorização (SA)
Servidor de Recursos (SR)
O SR checa se o AT é válido
Access Token (AT)
Proprietário dos Recursos (PR)
Cliente
Servidor de Autorização (SA)
Servidor de Recursos (SR)
O SR retorna os dados do PR para o cliente
O cliente não sabe nada
sobre o usuário
(SIMPLIFICADO)
Quem é o usuário que se autenticou
Onde
Quando
Como
Quais
Porque
onde ele se autenticou
ele se autenticou
ele se autenticou
atributos ele deu permissão
ele está dando acesso
Cliente Servidor de Autorização (SA)
Servidor de Recursos (SR)
foo-mail.com
Sessions
Proprietário dos Recursos (PR)
O cliente pede acesso para o SA
Cliente Servidor de Autorização (SA)
Servidor de Recursos (SR)
foo-mail.com
Sessions
Proprietário dos Recursos (PR)
O SA pede para o PR dar autorização para o
Cliente
Cliente Servidor de Autorização (SA)
Servidor de Recursos (SR)
foo-mail.com
Sessions
Proprietário dos Recursos (PR)
O SA retorna um Access Token e um ID Token
ID Token (IT) and Access Token (AT)
Client Servidor de Autorização (SA)
Servidor de Recursos (SR)
foo-mail.com
Sessions
Proprietário dos Recursos (PR)
O Cliente usa o AT para acessar os dados do PR
no SR
Access Token (AT)
Client Servidor de Autorização (SA)
Servidor de Recursos (SR)
foo-mail.com
Sessions
Proprietário dos Recursos (PR)
O SR checa se o AT é válido
Access Token (AT)
Cliente Servidor de Autorização (SA)
Servidor de Recursos (SR)
foo-mail.com
Sessions
Proprietário dos Recursos (PR)
O SR retorna os dados do PR para o cliente
Tá, e qual a moral disso?
Confiança
E quando ele expirar como
eu faço pra renovar?
O ID token é um JWT
( JSON Web Token )
Documento JSON assinado
{
"iss": "https://auth.awesome-app.com",
"typ": "JWT",
"alg": "RS256"
},
{
"username": "jsmith",
"name": "John Smith",
"email": "jsmith@mail.com",
"aud": "https://foo-mail.com",
"iss": "https://auth.awesome-app.com",
"nbf": 56360928133425594,
"jti": "JmzLVuRyAr-XAPw-tPey-I6Z0-hUugY8BG6r",
"exp": 9068550373,
"iat": 4456772927
}
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJleHAiOjEzODY4OTkxMzEsImlzcyI6Imp
pcmE6MTU0ODk1OTUiLCJxc2giOiI4MDY
zZmY0Y2ExZTQxZGY3YmM5MGM4YWI2
ZDBmNjIwN2Q0OTFjZjZkYWQ3YzY2ZWE
3OTdiNDYxNGI3MTkyMmU5IiwiaWF0Ijo
xMzg2ODk4OTUxfQ.
uKqU9dTB6gKwG6jQCuXYAiMNdfNRw98
Hw_IWuA5MaMo
2 tipos de tokens
hUugY8BG6r
John Smith
Valor Referência
Token de Valores
Possuí toda a informação necessária
Token de Referência
hUugY8BG6r
John Smith
Não possuí informação fora do ecossistema
Tá, mas onde isso tudo é
usado?
OAuth 2.0 e OpenID Connect
Play with it!
https://developers.google.com/oauthplayground
wcalderipe.com
OBRIGADO
Perguntas?

Mais conteúdo relacionado

PPTX
Open ID Connect
PDF
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
PDF
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
PDF
OpenID Connect Explained
PDF
OpenID Authentication by example
PDF
Introduction to OpenID Connect
PPTX
OpenID Connect: An Overview
PPTX
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...
Open ID Connect
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
OpenID Connect Explained
OpenID Authentication by example
Introduction to OpenID Connect
OpenID Connect: An Overview
OpenID Connect - a simple[sic] single sign-on & identity layer on top of OAut...

Semelhante a OAuth 2.0 e OpenID Connect (14)

PDF
Mineração de dados no Gmail e Facebook
PDF
TDC 2015 - Segurança em Recursos RESTful com OAuth2
PDF
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
PPTX
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
PPTX
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
PPTX
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
PDF
GUJavaSC - Protegendo Microservices em Java
PDF
APIs seguras com OAuth2
PPTX
O auth2 e open id connect
PPTX
Segurança em Angular SPA
PDF
Protegendo Microservices: Boas Práticas e Estratégias de Implementação
PDF
OAuth 2.0 refresher
PPTX
OpenAM - Fast SSO
PDF
OAuth: Gerenciamento de acessos para clientes de APIs
Mineração de dados no Gmail e Facebook
TDC 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
GUJavaSC - Protegendo Microservices em Java
APIs seguras com OAuth2
O auth2 e open id connect
Segurança em Angular SPA
Protegendo Microservices: Boas Práticas e Estratégias de Implementação
OAuth 2.0 refresher
OpenAM - Fast SSO
OAuth: Gerenciamento de acessos para clientes de APIs
Anúncio

Último (10)

DOCX
Cópia de ACOMPANHAMENTO PARA A RECOMPOSIÇÃO DA APRENDIZAGEM 8 ano História.docx
PPTX
slide preparativo para lingua portuguesa
PPTX
AULA_12_BASQUETE CAPACIDADE FÍSICA_171023.pptx
PDF
PROJETO DE PESQUISA PRONTO FONOAUDIOLOGIA 2025 ABNT.pdf
PPTX
SLIDE 1 PARTE 2 Fund da Informatica .pptx
PPTX
Questionario-Fundamentos-de-Informatica-e-Design.pptx
PPTX
SLIDE 1 PARTE 1 Fund da Informatica .pptx
PPT
Aula_15.pptssssssssssssssssssssssssssssssssssssss
PPTX
organizaoefuncionamentodeunidadedeenfermagem-240414190344-a21272a1 (1).pptx
PDF
Pinealle - Aceleradora de Negócios em Canais Digitais
Cópia de ACOMPANHAMENTO PARA A RECOMPOSIÇÃO DA APRENDIZAGEM 8 ano História.docx
slide preparativo para lingua portuguesa
AULA_12_BASQUETE CAPACIDADE FÍSICA_171023.pptx
PROJETO DE PESQUISA PRONTO FONOAUDIOLOGIA 2025 ABNT.pdf
SLIDE 1 PARTE 2 Fund da Informatica .pptx
Questionario-Fundamentos-de-Informatica-e-Design.pptx
SLIDE 1 PARTE 1 Fund da Informatica .pptx
Aula_15.pptssssssssssssssssssssssssssssssssssssss
organizaoefuncionamentodeunidadedeenfermagem-240414190344-a21272a1 (1).pptx
Pinealle - Aceleradora de Negócios em Canais Digitais
Anúncio

OAuth 2.0 e OpenID Connect

  • 1. OAuth 2.0 e OpenID Connect
  • 4. Proprietário dos Recursos (PR) Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) Conhecendo os 4 atores do OAuth
  • 5. Proprietário dos Recursos (PR) Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) O Cliente pede acesso ao SA
  • 6. Proprietário dos Recursos (PR) Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) O SA pede para o PR se autenticar
  • 7. Proprietário dos Recursos (PR) Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) O SA retorna um access token Access Token (AT)
  • 8. Proprietário dos Recursos (PR) Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) O Cliente usa o AT para acessar os dados do PR no SR Access Token (AT)
  • 9. Proprietário dos Recursos (PR) Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) O SR checa se o AT é válido Access Token (AT)
  • 10. Proprietário dos Recursos (PR) Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) O SR retorna os dados do PR para o cliente
  • 11. O cliente não sabe nada sobre o usuário
  • 13. Quem é o usuário que se autenticou Onde Quando Como Quais Porque onde ele se autenticou ele se autenticou ele se autenticou atributos ele deu permissão ele está dando acesso
  • 14. Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) foo-mail.com Sessions Proprietário dos Recursos (PR) O cliente pede acesso para o SA
  • 15. Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) foo-mail.com Sessions Proprietário dos Recursos (PR) O SA pede para o PR dar autorização para o Cliente
  • 16. Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) foo-mail.com Sessions Proprietário dos Recursos (PR) O SA retorna um Access Token e um ID Token ID Token (IT) and Access Token (AT)
  • 17. Client Servidor de Autorização (SA) Servidor de Recursos (SR) foo-mail.com Sessions Proprietário dos Recursos (PR) O Cliente usa o AT para acessar os dados do PR no SR Access Token (AT)
  • 18. Client Servidor de Autorização (SA) Servidor de Recursos (SR) foo-mail.com Sessions Proprietário dos Recursos (PR) O SR checa se o AT é válido Access Token (AT)
  • 19. Cliente Servidor de Autorização (SA) Servidor de Recursos (SR) foo-mail.com Sessions Proprietário dos Recursos (PR) O SR retorna os dados do PR para o cliente
  • 20. Tá, e qual a moral disso?
  • 22. E quando ele expirar como eu faço pra renovar?
  • 23. O ID token é um JWT ( JSON Web Token )
  • 24. Documento JSON assinado { "iss": "https://auth.awesome-app.com", "typ": "JWT", "alg": "RS256" }, { "username": "jsmith", "name": "John Smith", "email": "[email protected]", "aud": "https://foo-mail.com", "iss": "https://auth.awesome-app.com", "nbf": 56360928133425594, "jti": "JmzLVuRyAr-XAPw-tPey-I6Z0-hUugY8BG6r", "exp": 9068550373, "iat": 4456772927 } eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. eyJleHAiOjEzODY4OTkxMzEsImlzcyI6Imp pcmE6MTU0ODk1OTUiLCJxc2giOiI4MDY zZmY0Y2ExZTQxZGY3YmM5MGM4YWI2 ZDBmNjIwN2Q0OTFjZjZkYWQ3YzY2ZWE 3OTdiNDYxNGI3MTkyMmU5IiwiaWF0Ijo xMzg2ODk4OTUxfQ. uKqU9dTB6gKwG6jQCuXYAiMNdfNRw98 Hw_IWuA5MaMo
  • 25. 2 tipos de tokens hUugY8BG6r John Smith Valor Referência
  • 26. Token de Valores Possuí toda a informação necessária
  • 27. Token de Referência hUugY8BG6r John Smith Não possuí informação fora do ecossistema
  • 28. Tá, mas onde isso tudo é usado?