App Studio

Guia Completo de Integração OAuth Zydon

Este guia detalha como implementar a integração OAuth com a plataforma Zydon, permitindo que seus clientes autorizem o acesso aos dados da conta Zydon deles através do seu plugin/aplicação.

Pré-requisitos

Antes de começar, garanta que seu plugin já está registrado na plataforma Zydon. Com o registro, você receberá três informações essenciais:

  1. client_id: (Plugin ID).

  2. access_key: Sua chave secreta.

  3. URLs de Callback: Os endereços para onde o cliente será enviado após a autorização.

🚀 Fluxo OAuth Completo

Etapa 1: Redirecionamento para Autorização

Redirecione seu cliente para a URL de autorização do Zydon:

Parâmetros Obrigatórios:

  • client_id: ID do seu plugin (UUID)

  • redirect_uri: URL de callback autorizada do seu sistema

  • state: Valor aleatório para proteção CSRF (recomendado)

Exemplo:

Etapa 2: Autorização do Cliente

O cliente será direcionado para a tela de autorização do Zydon onde:

  1. Visualizará as permissões solicitadas

  2. Decidirá se autoriza ou não o acesso

  3. Seu plugin será instalado automaticamente (se ainda não estiver)

Etapa 3: Callback com Código de Autorização

Após a autorização, o cliente será redirecionado para sua URL de callback:

Sucesso:

Erro:

Códigos de Erro Possíveis:

  • invalid_client: Plugin não encontrado ou URL de callback não autorizada

  • server_error: Erro interno durante a instalação/autorização

Etapa 4: Troca do Código por Token de Acesso

Com o código de autorização recebido, faça uma requisição para obter o token de acesso:

Endpoint:

Headers:

Credenciais Basic Auth:

Body (form-urlencoded):

Exemplo de Requisição:

Resposta de Sucesso (200):

🔑 Usando as Credenciais de Acesso

Após obter as credenciais, você pode usar o access_key_code e access_key_token para fazer chamadas autenticadas às APIs do Zydon em nome do cliente.

Autenticação nas APIs:

⚠️ Tratamento de Erros

Erros na Autorização:

  • 404: Plugin não encontrado

  • 400: Parâmetros inválidos

  • 401: Não autorizado

Erros na Troca de Token:

  • 400: grant_type inválido (deve ser authorization_code)

  • 401: Credenciais Basic Auth inválidas

  • 404: Código de autorização não encontrado ou expirado

🛡️ Segurança

Boas Práticas:

  1. Sempre use HTTPS em suas URLs de callback

  2. Valide o parâmetro state para prevenir ataques CSRF

  3. Mantenha o access_key seguro - nunca exponha no frontend

  4. Configure apenas URLs de callback confiáveis no seu plugin

  5. Implemente timeout para códigos de autorização

Validações Implementadas:

  • URLs de callback devem estar pré-autorizadas

  • Códigos de autorização têm tempo de vida limitado

  • Access key é validada em cada requisição

📊 Fluxo Técnico Resumido

💡 Exemplo Prático de Implementação

1. Iniciando o Fluxo (Backend da sua aplicação):

2. Tratando o Callback:

3. Trocando Código por Token:

4. Usando as Credenciais para Acessar APIs:

🎯 URLs de Referência

  • Frontend (Autorização): https://admin.zydon.com.br/oauth/authorize

  • Backend API (Token): https://api.zydon.com.br/appcenter/oauth/token

  • Backend APIs (Dados): https://api.zydon.com.br/*

📋 Checklist de Implementação


Atualizado