Acapadev

Capítulo 1

Visão Geral da Integração OAuth

Bem-vindo à documentação oficial de integração do ACAPADEV ID. O nosso sistema atua como o servidor central de identidade (SSO) para todo o ecossistema de aplicações desenvolvidas por si ou por terceiros.

Em vez de construir um sistema de login isolado para o Contagil, outro para o A&C Farma, e outro para um sistema de faturação futuro, delegará toda a responsabilidade de Autenticação e Segurança ao ACAPADEV ID utilizando o protocolo aberto OAuth 2.0.

Como Funciona a Arquitetura?

Na prática, as suas aplicações satélites atuarão como "Clientes OAuth". O fluxo normal para um utilizador final será o seguinte:

  • O utilizador tenta aceder à aplicação (ex: Contagil).
  • A aplicação redireciona-o para o ecrã de login seguro do ACAPADEV ID.
  • O utilizador introduz o e-mail e a senha (ou utiliza login com conta Google). Se tiver o 2FA ativo, o desafio é processado pelo ACAPADEV ID.
  • Novidade: O utilizador pode gerir múltiplas contas em simultâneo (estilo Google) e alternar entre identidades com um único clique no ecrã de autorização, sem necessidade de voltar a inserir a palavra-passe.
  • Após o sucesso (ou seleção da conta), o utilizador é redirecionado de volta para o Contagil com um código de autorização na URL.
  • Nos bastidores (Server-to-Server), o Contagil troca esse código por um Token e pelos dados do utilizador.
  • O Contagil faz o login local do utilizador e permite-lhe usar o sistema.

Configuração do Agnosticismo de Ambiente

As suas aplicações devem respeitar o princípio do agnosticismo de ambiente. Nunca programe a URL do SSO diretamente no seu código. Em vez disso, a URL do Identity Provider deve ser sempre lida através de uma variável de ambiente.

// ❌ ERRADO
$url = 'https://id.acapadev.com/oauth/authorize';

// ✅ CORRETO
$url = env('SSO_HOST') . '/oauth/authorize';

No ficheiro .env da sua aplicação cliente, defina o alvo adequado:

  • Ambiente Local: SSO_HOST=https://id.acapadev.com (ou a sua configuração local)
  • Produção: SSO_HOST=https://id.acapadev.com

Criação e Gestão de Aplicações

Nesta arquitetura, existem dois grandes polos de criação de aplicações (Clientes OAuth):

1. Aplicações Internas ACAPADEV (Primeira Parte)

Se estás a desenvolver uma aplicação interna do ecossistema central, não precisas do portal público. Como Super-Administrador, podes aceder ao Painel de Administração (na aba Aplicações) e gerir os clientes de forma privilegiada, bypassando o isolamento comum aos outros developers.

2. Aplicações Externas (Developer Portal)

Para integrações de terceiros, construímos um Portal Público do Developer totalmente isolado. Os developers externos registam as suas próprias contas e criam aplicações geridas no seu espaço pessoal. O Portal suporta ambientes de TESTE e LIVE, permitindo ensaios seguros (com Soft Deletes programados) antes da passagem a produção real.


✨ Autenticação Invisível (One-Tap)

Destaque especial para a nossa tecnologia Acapadev One-Tap. O seu portal satélite não precisa de ter um redirecionamento agressivo de página inteira! Com o nosso SDK leve, pode injetar um elegante "Toast" no ecrã do seu utilizador, permitindo o login cruzado com apenas 1 clique.

A solução suporta inclusivé um Account Switcher dinâmico e inteligente para os utilizadores gerirem múltiplas identidades ativas em simultâneo (e.g. conta profissional vs pessoal).

👉 Descubra o guia completo de Integração One-Tap.

Pronto para começar?

Avance para o próximo capítulo para preparar a sua base de dados local.

Preparar Base de Dados →
Enter para selecionar ESC para sair