OAuth2 e OpenID Connect
Segurança de Aplicações Modernas e novas oportunidades de negócios
OAuth2 and OpenID Connect
Modern Applications Security and new business opportunities
O que é OAuth2
1. Protocolo de autorização para aplicações modernas
2. Emite tokens em troca de uma credencial
3. O token representa uma conjunto de permissões
4. O token dispensa o compartilhamento da credencial
What is OAuth2
1. Authorization protocol used by modern applications
2. Issue tokens in change for credentials
3. The token represents a permission set
4. The token dismiss the password sharing
O que é OpenID Connect
1. Extensão de OAuth2
2. Autenticação: Utiliza o modelo OAuth para conhecer o usuário se a
identidade do usuário for necessária
What is OpenID Connect
1. An OAuth2 extension
2. Authentication: Utilizes the OAuth2 way to know the user’s identity if
necessary
Exemplos: Uma conferência em um hotel
Um hóspede apresenta o número de reserva e sua identificação no saguão.
Recebe um cartão (token de acesso) que permite entrar em locais protegidos
(o quarto nº 1220, o salão de jogos, a academia…) e um crachá com o seu
nome e algumas informações (token de identificação) para uso na
conferência.
● O cartão de acesso: Token de Acesso (OAuth2)
● O crachá: Token de Identificação (OpenID Connect)
Example: An conference in an Hotel
An guest presents your ID in the lobby. Receives an card (access token) that
allow access in protected areas (room number 1220, game room, the gym…)
and name badge with some personal informations (Identification Token).
● The card: Access Token (OAuth2)
● The name badge: Identification Token (OpenID Connect)
OAuth2 - Papéis
● Dono do Recurso: Um ser humano, um aplicativo, uma coisa.
● Cliente: Um aplicativo consumidor de API Web.
● Servidor de Recursos: Uma API web
● Servidor de Autorização: Quem autêntica, autoriza e emite tokens;
Tokens
1. Credenciais para os Servidores de Recursos
2. Emitidos pelo Servidor de Autorização
3. Single Sign On (SSO) - Autenticação Centralizada
4. Possuem um escopo bem definido de utilização
5. Contém alegações (informações sobre o usuário ou autorização)
6. São assinados pelo Servidor de Autorização (podem ser validados)
7. Expiram (possuem limite de tempo para utilização)
8. Em geral no formato JWT (multi plataformas)
Token - Exemplo:
{
“sub”: “fulano@bb.com.br”,
“aud”: “aplicativoX”,
“iss”: “https://oauth.bb.com.br/oauth”,
“exp”:13118256723, // 30/01/2017 às 18:02
“iat”: 13118251223, // 20/12/2016 às 16:00
“scope”: “consultas-financeiras.extratos”,
“contas-autorizadas”:[{“agencia” : 1234, “conta”: 112345},{“agencia”: 3444,”conta”: “654321”}}]
}
OpenID Connect -
Extras
● Token de Identificação - (Escopo
openid)
● Informações adicionais do usuário -
Endpoint /userInfo
○ profile, email, address, phone,
creditRisk, yearsProfits, accounts, ...

O auth2 e open id connect

  • 1.
    OAuth2 e OpenIDConnect Segurança de Aplicações Modernas e novas oportunidades de negócios
  • 2.
    OAuth2 and OpenIDConnect Modern Applications Security and new business opportunities
  • 3.
    O que éOAuth2 1. Protocolo de autorização para aplicações modernas 2. Emite tokens em troca de uma credencial 3. O token representa uma conjunto de permissões 4. O token dispensa o compartilhamento da credencial
  • 4.
    What is OAuth2 1.Authorization protocol used by modern applications 2. Issue tokens in change for credentials 3. The token represents a permission set 4. The token dismiss the password sharing
  • 5.
    O que éOpenID Connect 1. Extensão de OAuth2 2. Autenticação: Utiliza o modelo OAuth para conhecer o usuário se a identidade do usuário for necessária
  • 6.
    What is OpenIDConnect 1. An OAuth2 extension 2. Authentication: Utilizes the OAuth2 way to know the user’s identity if necessary
  • 7.
    Exemplos: Uma conferênciaem um hotel Um hóspede apresenta o número de reserva e sua identificação no saguão. Recebe um cartão (token de acesso) que permite entrar em locais protegidos (o quarto nº 1220, o salão de jogos, a academia…) e um crachá com o seu nome e algumas informações (token de identificação) para uso na conferência. ● O cartão de acesso: Token de Acesso (OAuth2) ● O crachá: Token de Identificação (OpenID Connect)
  • 8.
    Example: An conferencein an Hotel An guest presents your ID in the lobby. Receives an card (access token) that allow access in protected areas (room number 1220, game room, the gym…) and name badge with some personal informations (Identification Token). ● The card: Access Token (OAuth2) ● The name badge: Identification Token (OpenID Connect)
  • 9.
    OAuth2 - Papéis ●Dono do Recurso: Um ser humano, um aplicativo, uma coisa. ● Cliente: Um aplicativo consumidor de API Web. ● Servidor de Recursos: Uma API web ● Servidor de Autorização: Quem autêntica, autoriza e emite tokens;
  • 10.
    Tokens 1. Credenciais paraos Servidores de Recursos 2. Emitidos pelo Servidor de Autorização 3. Single Sign On (SSO) - Autenticação Centralizada 4. Possuem um escopo bem definido de utilização 5. Contém alegações (informações sobre o usuário ou autorização) 6. São assinados pelo Servidor de Autorização (podem ser validados) 7. Expiram (possuem limite de tempo para utilização) 8. Em geral no formato JWT (multi plataformas)
  • 11.
    Token - Exemplo: { “sub”:“fulano@bb.com.br”, “aud”: “aplicativoX”, “iss”: “https://oauth.bb.com.br/oauth”, “exp”:13118256723, // 30/01/2017 às 18:02 “iat”: 13118251223, // 20/12/2016 às 16:00 “scope”: “consultas-financeiras.extratos”, “contas-autorizadas”:[{“agencia” : 1234, “conta”: 112345},{“agencia”: 3444,”conta”: “654321”}}] }
  • 12.
    OpenID Connect - Extras ●Token de Identificação - (Escopo openid) ● Informações adicionais do usuário - Endpoint /userInfo ○ profile, email, address, phone, creditRisk, yearsProfits, accounts, ...