Avaliações do editor: Avaliações do usuário:[Total: 0 Average: 0] @media(min-width: 500px) { } @media(min-width: 800px) { }
SuperTokens é uma alternativa de código aberto para Firebase Auth, AuthO, AWS Cognito, etc. É totalmente gratuito para usar, para sempre, sem limites de o número de usuários.
O SuperTokens oferece uma solução de autenticação segura que adiciona login e gerenciamento de sessão aos aplicativos sem fazer nenhuma concessão na experiência do usuário e do desenvolvedor. A arquitetura é otimizada com 3 blocos de construção: o SDK de front-end que gerencia tokens de sessão e renderiza widgets de interface do usuário de login, o SDK de back-end e o serviço HTTP.
Há SuperTokens Núcleo no nível superior, que é o serviço HTTP para lidar com a lógica de autenticação do núcleo. Ele também é responsável por executar as operações de banco de dados subjacentes. Basicamente, ele fornece uma solução de ponta a ponta com login, inscrições, gerenciamento de usuários e gerenciamento de sessões, sem lidar com as complexidades dos protocolos OAuth. Ele vem com formulários de login e inscrição integrados que podem ser implementados em seu site. Não apenas isso, mas também oferece vários tipos de formulários de autenticação.
Por enquanto, ele suporta os seguintes tipos de sistemas e modelos de login (também conhecidos como receitas).
Login social sem senha E-mail Senha Login Telefone Senha Login Sem senha + Login social Senha de e-mail + Login social
A linguagem de programação principal do SuperTokens é Java, mas SDKs para outras linguagens de programação e estruturas front-end estão disponíveis. Veja a lista abaixo.
Backend:
NodeJS GoLang Python
Frontend:
ReactJS Vanilla JS React Native iOS Android Flutter
Outras estruturas:
Para outras estruturas de front-end, pode-se criar uma interface do usuário personalizada que se comunique com as APIs expostas do SDK. Quanto a outras estruturas de back-end, você pode criar suas próprias APIs usando o SuperTokens Core.
Principais características do SuperTokens e por que você deve usá-lo?
Torna a criação de um sistema de login totalmente funcional em questão de minutos, pois tudo vem pronto. Você pode copiar os modelos, modificar as configurações do aplicativo e do banco de dados e implantar. Ele lida com as partes duras em si. Por exemplo, ele possui um roteador integrado que manipula os eventos de inscrição e entrada. Você não precisa reescrever as rotas em seu código. Integra-se bem com vários back-ends de banco de dados, como GraphQL, Supabase, Netlify, AWS Lambda, Vercel, Capacitor, etc. Integrar logins sociais é menos doloroso. Como já mencionado acima, ele cuida da parte difícil por conta própria, basta adicionar o ID e o segredo do cliente do Google para implementar o login por meio do formulário do Google. Manipula a sessão do usuário por conta própria para todos os usuários. Lida com tarefas na camada de middleware de forma robusta. Ele possui um sistema integrado de captura de erros que lidará com a maioria dos erros causados durante a chamada das APIs. Isso facilitará a depuração. Se você deseja incluir a verificação por SMS, isso é fácil, pois há um modelo disponível que você pode bifurcar e modificar. Também vem como uma imagem do Docker que você pode usar para implantação local para controlar 100% dos dados do usuário.
Como usar SuperTokens para criar um sistema de login para um site ou aplicativo Web?
A essa altura você já tem uma ideia do que são SuperTokens, o que eles oferecem e como funcionam. Agora, vamos tentar usá-lo em um aplicativo da web. Aqui estarei usando como criar um sistema de login no React usando SuperTokens. Antes disso, você deve entender o fluxo de login. Basta olhar para este diagrama na página de documentação de SuperTokens.
Supondo que você conheço o React, então estou pulando sua instalação ou configuração. Comece com o aplicativo React de demonstração. que se parece com isso.
Aqui usarei SuperTokens no React com um aplicativo Express auxiliar no back-end para processar o login com o Google e o login com senha de e-mail.
Então, instale o SuperTokens SDK for Node e prossiga.
npm i-s supertokens-auth-react
Chame a função init(). O site fornece um gerador de código para isso, basta inserir os detalhes do aplicativo e os widgets sociais que deseja usar. Por padrão, ele adiciona GitHub, Facebook como provedores no código, mas você pode removê-los manualmente.
Vá para a rota/auth e agora você verá o login de lá.
A próxima coisa que você precisa fazer agora é configurar o back-end. Mas primeiro instale o mecanismo de back-end executando isto.
npm i-s supertokens-node
Agora, inicialize o back-end de SuperTokens. Novamente, a página de documentação fornece o gerador de código exatamente como a página de front-end. Ele lembra os detalhes do aplicativo, então você apenas copia o código.
No back-end, agora você precisa inicializar os provedores de login, como GitHub, Google, etc. Novamente, o código já está lá, você só precisa copiar e colar. Omita os provedores deste código que você não precisa.
Adicione o código de configuração de APIs e CORS e o código de tratamento de erros. O código já está lá, basta copiar e colar novamente.
Configurar o SuperTokens Core usando o Docker. O comando para executar a imagem do SuperTokens Docker é:
docker run-p 3567:3567-d Registry.supertokens.io/supertokens/supertokens-mysql:5.0
Agora é hora para configurar o último bloco do diagrama de fluxo que mostrei no início desta seção, que é o banco de dados. Ele oferece suporte à configuração do MySQL e PostgreSQL, e você pode aprender sobre a configuração inicial nos documentos.
Neste ponto, se você executar seu aplicativo agora, encontrará o seguinte sistema de login. Funciona e, desta forma, os SuperTokens podem ser usados em qualquer aplicativo da web e site.
Observe que, as etapas que mencionei acima só serão capazes de exibir um formulário de login funcional. Posteriormente, você terá que configurar outras funções, como lógica de saída e função de redefinição de senha. Você pode ver o vídeo abaixo para o fluxo de trabalho completo. Ou você pode seguir o restante da documentação para o mesmo.
Esta foi a configuração de SuperTokens com React e Express. Mas você pode seguir o mesmo guia para outros SDKs e estruturas, como Python-Flask.
Em resumo:
SuperTokens é uma solução de autenticação segura que oferece uma alternativa gratuita e de código aberto para provedores de login proprietários. A arquitetura é otimizada com três blocos de construção e fornece uma solução de ponta a ponta com gerenciamento de usuário e sessão sem as complexidades do OAuth. Qualquer pessoa pode contribuir para melhorar os SuperTokens e permite o controle total dos dados do usuário. O site exibe os recursos disponíveis e os SuperTokens podem ser usados para login, gerenciamento de sessão ou ambos.