Skip to content
This repository has been archived by the owner on Oct 30, 2023. It is now read-only.

Guia de implementação de uma aplicação back-end com o sistema de SSO Hotmart Authentication

License

Notifications You must be signed in to change notification settings

Hotmart-Org/hotmart-authentication-guide

Repository files navigation

Hotmart

JS Hotmart Style

Build Status

Guia de implementação de uma aplicação back-end, em Node, com o sistema de SSO Hotmart Authentication.

Pré-requisitos

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.

Instalação

Para instalar as dependências necessárias basta executar:

npm install

Setup

  • Crie um arquivo .env seguindo o exemplo .env-sample
  • Se necessário, altere o API_HOST e API_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_

Credential SSO Card

Execução

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

Fluxos

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)

Rotas

  • /: 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

Botão de Entrar com a Hotmart

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.

https://nodei.co/npm/@hotmart%2Fhot-login.png?downloads=true&downloadRank=true&stars=true

To-do

  • 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.

License

License: MIT

MIT. Copyright 2022 Hotmart

About

Guia de implementação de uma aplicação back-end com o sistema de SSO Hotmart Authentication

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published