Login (SSO)

OAuth 2.0

A especificação OAuth2 define uma estrutura que permite que aplicativos (provedores de serviços) solicitem a autenticação do usuário a qualquer pessoa que solicite acesso a dados protegidos, sem precisar interagir com suas credenciais privadas. Ele consegue isso interagindo com um parceiro confiável (provedor de identidade) que trata da identificação do usuário, valida suas credenciais e retorna ao aplicativo as informações necessárias para prosseguir com segurança. Você pode aprender mais sobre o OAuth2 Authorization Framework lendo seu documento de especificações.

     +----------+
     | Resource |
     |   Owner  |
     |          |
     +----------+
          ^
          |
         (B)
     +----|-----+          Client Identifier      +---------------+
     |         -+----(A)-- & Redirection URI ---->|               |
     |  User-   |                                 | Authorization |
     |  Agent  -+----(B)-- User authenticates --->|     Server    |
     |          |                                 |               |
     |         -+----(C)-- Authorization Code ---<|               |
     +-|----|---+                                 +---------------+
       |    |                                         ^      v
      (A)  (C)                                        |      |
       |    |                                         |      |
       ^    v                                         |      |
     +---------+                                      |      |
     |         |>---(D)-- Authorization Code ---------'      |
     |  Client |          & Redirection URI                  |
     |         |                                             |
     |         |<---(E)----- Access Token -------------------'
     +---------+       (w/ Optional Refresh Token)