Docs
...

Visão geral da integração OAuth

Esta seção é para desenvolvedores que querem conectar uma aplicação ao Identity e permitir que usuários da iugu façam login nela — o chamado SSO (Single Sign-On). O usuário se autentica no Identity (https://id.iugu.com) e a sua aplicação recebe, de forma segura, a prova de quem ele é, sem precisar criar nem guardar a senha do usuário.

A integração usa os protocolos padrão de mercado OAuth 2.0 e sua extensão de autenticação OpenID Connect. Você não precisa conhecer a teoria a fundo para integrar — basta seguir o passo a passo do Authorization Code. Ao longo dos guias há links para as especificações, caso você queira se aprofundar.

Os papéis envolvidos

  • Sua aplicação — quem quer autenticar os usuários. Na teoria do OAuth, é o client ou relying party.
  • Identity — o servidor que autentica os usuários e emite os tokens. É o authorization server / OpenID Provider, em https://id.iugu.com.
  • Usuário — a pessoa que faz login. É o resource owner.

Como funciona, em resumo

  1. Sua aplicação redireciona o usuário para o Identity.
  2. O usuário se autentica no Identity.
  3. O Identity redireciona o usuário de volta para a sua aplicação com um código de uso único.
  4. Sua aplicação troca esse código por tokens em uma chamada direta ao Identity.
  5. Sua aplicação valida os tokens e conclui o login do usuário.

Qual fluxo usar

  • Authorization Code — para aplicações web com back-end, que conseguem guardar o client_secret em segredo no servidor.
  • Extensão PKCE — para SPAs, aplicativos mobile ou qualquer aplicação que não consiga manter o client_secret em segredo.

O que sua aplicação recebe ao final

  • access_token — um token JWT usado para autenticar a aplicação junto a outras aplicações da plataforma iugu.
  • id_token — um token JWT com as informações de autenticação do usuário (parte do OpenID Connect). Não compartilhe o id_token com outras aplicações.
  • refresh_token — usado para obter um novo access_token quando o anterior expira, sem exigir uma nova ação do usuário (quando disponível para a integração).

Pré-requisitos

  • Um client_id e um client_secret, obtidos na aba Credenciais do painel de administração da sua aplicação.
  • As URLs de callback (redirect_uri) da sua aplicação cadastradas — o Identity só redireciona o usuário de volta para URLs previamente registradas.

Comece por aqui

  1. Authorization Code (SSO)
  2. Extensão PKCE (SPA / Mobile)
  3. Tokens JWT e Validação de tokens JWT

Para aprofundar (teoria)