Docs
...

Autenticação na plataforma iugu

A autenticação na plataforma iugu é fundamentada nos protocolos OAuth 2.0 e OpenID Connect, onde o Identity atua como o Authorization Server ou OpenId Provider, distribuindo de forma segura e confiável as informações de login ou tokens de acesso aos aplicativos participantes da plataforma.

Contextos de autenticação na iugu

Existem dois contextos de autenticação para aplicações participantes da plataforma iugu:

  1. Uma aplicação web que precisa autenticar seus usuários.
  2. Uma aplicação quer expor sua API e precisa autenticar seus clientes.

Aplicação web autenticando usuários

Nesse cenário, a aplicação web utiliza o Identity como OpenId Provider para autenticar seus usuários. Com o consentimento do usuário, o Identity compartilha com a aplicação solicitante as informações de login necessárias.

Aqui temos 3 participantes principais:

  • O usuário final que quer acessar uma aplicação protegida
  • A aplicação protegida que quer autenticar seus usários
  • O Identity atuando como o servidor OpenId Provider

Este fluxo utiliza o authorization code com a extensão do OpenID Connect.

Para um guia detalhado de como implementá-lo consulte esta página.

Aplicações SPAs ou Mobile

Aplicações SPA, mobile ou qualquer outra aplicação que não consiga garantir que a client secret se mantenha em segredo devem utilizar a extensão do PKCE para autenticar seus usuários.

Para um guia detalhado de como implementá-lo consulte esta página.

Aplicação com API autenticando aplicações clientes

A aplicação que expõe uma API protegida para outras aplicações da plataforma iugu consumirem deve fazer a autenticação de seus clientes utilizando o Identity, onde a aplicação cliente utiliza um access token como prova de autenticação.

No contexto do OAuth, a aplicação cliente atua como o client, a aplicação que fornece a API atua como o resource server, e o Identity como o authorization server.

O fluxo utilizado aqui é o client credentials.

Para seguir o passo a passo completo de como implementar o client credentials, na perspectiva do resource server (a aplicação que fornece a API), acesse nosso guia detalhado.