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
- Sua aplicação redireciona o usuário para o Identity.
- O usuário se autentica no Identity.
- O Identity redireciona o usuário de volta para a sua aplicação com um código de uso único.
- Sua aplicação troca esse código por tokens em uma chamada direta ao Identity.
- 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_secretem segredo no servidor. - Extensão PKCE — para SPAs, aplicativos mobile ou
qualquer aplicação que não consiga manter o
client_secretem 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 oid_tokencom outras aplicações.refresh_token— usado para obter um novoaccess_tokenquando o anterior expira, sem exigir uma nova ação do usuário (quando disponível para a integração).
Pré-requisitos
- Um
client_ide umclient_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.