Guia de implementação de uma aplicação back-end, em Node, com o sistema de SSO Hotmart Authentication.
Este projeto está em fase BETA
, e no momento não está disponível para o público em geral, apenas para ISV's (Fornecedores de softwares independentes).
Para implementar o Hotmart Authentication você precisa solicitar a criação de um serviço de autenticação preenchendo este formulário.
Para instalar as dependências necessárias basta executar:
npm install
- Crie um arquivo
.env
seguindo o exemplo.env-sample
- Se necessário, altere o
API_HOST
eAPI_PORT
- Com o serviço de autenticação criado, acesse suas credenciais na plataforma Hotmart e use as chaves do serviços para preencher as variáveis com prefixo
CLIENT_
Para inicializar a aplicação basta executar:
npm start
Após inicializar a aplicação, você pode acessa-la por http://localhost:3000 ou o host configurado na variável de ambiente API_HOST
Ao realizar a autenticação utilizando a solução de SSO Hotmart Authentication, será disponibilizado dois fluxos:
Autenticação
: Viabiliza a autenticação do usuário Hotmart no site do parceiro, além de prover os recursos de atualização de tokens para manter o mesmo autenticado;Integração
: Possibilita o acesso à dados mais profundos do usuário, como a área de membros, vendas e assinaturas.
A divisão desses dois fluxos tem como principal finalidade prover acesso aos dados de integração mesmo após o usuário ter encerrado acesso na aplicação em questão (/logout
)
/
: O root verifica se existe um usuário autenticado em cache para prover a rota de login ou as rotas de usuário autenticado;/login
: É a única rota que renderizamos um HTML, nela exibimos o botão de Entrar com a Hotmart para que o usuário possa ser redirecionado para fluxo de autenticação da Hotmart;/profile
: Com o usuário autenticado em cache, fazemos uma decodificação do token para disponibilizar os dados básicos de perfil;/club/*
: Referente a Área de membros, esses endpoints possibilitam que você obtenha as informações dos módulos e páginas, além de dados de alunos e seus respectivos progressos. Documentação;/sales/*
: Aqui você terá acesso às informações detalhadas de todas as suas vendas realizadas na Hotmart Documentação;/subscriptions/*
: Esses endpoints entregam dados relacionados a cobrança recorrente por assinatura de algum determinado produto. Documentação;/logout
: Rota utilizada para encerrar o fluxo de autenticação do usuário. Isso encerra o acesso a rota/profile
mas mantém disponível o acesso aos endpoints de integração (club
,sales
,subscriptions
);/revoke
: Essa é a rota destinada ara encerrar ambos os fluxos e realizar o logout completo, tanto de/profile
quanto/club
,/sales
e/subscriptions
;
Pra mais detalhes das APIs do fluxo de integração, acesse: Hotmart Developers
Neste guia de implementação usamos o botão Entrar com a Hotmart na rota /login
para redirecionar o usuário para a área de autenticação da Hotmart.
Este componente está disponível no pacote NPM @hotmart/hot-login.
- Projeto front-end para comunicar-se com a api back-end, tornando a implementação mais próxima do cenário real;
- Testes unitários;
- Testes E2E.
MIT. Copyright 2022 Hotmart