oauth 2.0 e openid connect

Post on 16-Aug-2015

152 Views

Category:

Internet

0 Downloads

Preview:

Click to see full reader

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": "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.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?

top related