Autenticação Simples com Kinde.com

3 minutos para ler

Autenticação Simples com Kinde.com

1. Introdução

Kinde é uma plataforma que facilita a integração de autenticação em suas aplicações. Ele oferece um sistema de login pronto para uso, com suporte a diferentes métodos de autenticação como e-mail e senha, redes sociais, e SSO corporativo.

Neste post, vamos criar um exemplo simples de como implementar a autenticação usando o Kinde em uma aplicação React.

2. Configuração Inicial

Primeiro, precisamos criar uma conta no Kinde.com e configurar um novo projeto.

Acesse o Kinde e crie sua conta. Crie um novo aplicativo na dashboard do Kinde. Anote o Client ID e o **Client Secret ** gerados para o aplicativo. Não esqueça de configurar o callback do redirect uri e logout uri na plataforma.

3. Implementando a Autenticação

Vamos usar React para criar uma aplicação simples que permita login com Kinde.

3.1. Instalando as Dependências

No seu projeto React, instale o SDK do Kinde:

npm install @kinde-oss/kinde-auth-react

3.2. Configurando o SDK

No arquivo principal da sua aplicação (por exemplo, App.jsx), configure o Kinde:

import {KindeProvider, useKindeAuth} from "@kinde-oss/kinde-auth-react";

import UserProfile from './UserProfile';

const App = () => {
  return (
    <KindeProvider
      domain="YOUR DOMAIN"
      clientId="YOUR CLIENT ID"
      redirectUri="YOUR REDIRECT URI"
      logoutUri="YOUR LOGOUT URI"
    >
      <LoginButton />
      
    </KindeProvider>
  );
};

const LoginButton = () => {
  const { login } = useKindeAuth();
  const { isAuthenticated } = useKindeAuth();

  return (
    isAuthenticated ? '' : <button onClick={() => login()}>Login with Kinde</button>
  );
};

export default App;

3.3. Manipulando a Autenticação

Depois que o usuário fizer login, você pode obter informações sobre ele ou gerenciar seu estado de autenticação:

import React from 'react';
import { useKindeAuth } from '@kinde-oss/kinde-sdk';

const UserProfile = () => {
  const { user, isAuthenticated, logout } = useKindeAuth();

  if (!isAuthenticated) {
    return <p>Você não está logado.</p>;
  }

  return (
    <div>
      <h2>Bem-vindo, {user?.name}!</h2>
      <button onClick={() => logout()}>Logout</button>
    </div>
  );
};

3.4. Exibindo o Perfil do Usuário

Atualize o componente App para incluir a exibição do perfil:

import {KindeProvider, useKindeAuth} from "@kinde-oss/kinde-auth-react";
import UserProfile from './UserProfile';

const App = () => {
  return (
    <KindeProvider
      domain="YOUR DOMAIN"
      clientId="YOUR CLIENT ID"
      redirectUri="YOUR REDIRECT URI"
      logoutUri="YOUR LOGOUT URI"
    >
      <LoginButton />

      <UserProfile />
    </KindeProvider>
  );
};

const LoginButton = () => {
  const { login } = useKindeAuth();
  const { isAuthenticated } = useKindeAuth();

  return (
    isAuthenticated ? '' : <button onClick={() => login()}>Login with Kinde</button>
  );
};

export default App;

4. Conclusão

Com esses passos, você configurou uma autenticação básica usando o Kinde em sua aplicação React. O Kinde facilita a integração de autenticação segura, permitindo que você foque em construir suas funcionalidades sem se preocupar com a complexidade da segurança.

Aqui o link da aplicação no GitHub.

Bonus

A plataforma permite que seja configurado inúmeros serviços de autenticação, desde o Gmail, Facebook, como Slack, Discord e etc, vale a pena conferir.