oauth 2.0 e openid connect
TRANSCRIPT
OAuth 2.0 e OpenID Connect
WILLIAM CALDERIPE
wcalderipe.com
Backend Developer naConrad Caine
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": "[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.eyJleHAiOjEzODY4OTkxMzEsImlzcyI6ImppcmE6MTU0ODk1OTUiLCJxc2giOiI4MDYzZmY0Y2ExZTQxZGY3YmM5MGM4YWI2ZDBmNjIwN2Q0OTFjZjZkYWQ3YzY2ZWE3OTdiNDYxNGI3MTkyMmU5IiwiaWF0IjoxMzg2ODk4OTUxfQ.uKqU9dTB6gKwG6jQCuXYAiMNdfNRw98Hw_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?
Play with it!https://developers.google.com/oauthplayground
wcalderipe.com
OBRIGADO
Perguntas?