O que são Contas Globais B3?

Contas Globais B3 são um sistema unificado de autenticação que fornece aos usuários uma única identidade em todo o ecossistema B3. Os usuários podem se autenticar uma vez e acessar todas as aplicações, jogos e serviços B3 de forma contínua.

Principais Características

Login Social

Suporte para Google, Discord e outros provedores de autenticação social.

Gerenciamento de Sessão

Autenticação segura de chave de sessão com permissões personalizáveis.

Multiplataforma

Funciona em aplicações web, móveis e desktop.

Amigável para Desenvolvedores

Componentes React simples e serviços TypeScript sem interface.

Arquitetura

O sistema de Contas Globais consiste em vários componentes chave:

Fluxo de Autenticação

  1. Login Social: Usuários se autenticam com seu provedor social preferido
  2. Criação de Conta: Uma Conta Global B3 é criada ou vinculada
  3. Chaves de Sessão: Chaves de sessão opcionais para segurança aprimorada
  4. Permissões: Permissões granulares para diferentes ações

Componentes React

  • B3Provider: Provedor de contexto para Contas Globais
  • SignInWithB3: Fluxo completo de autenticação
  • RequestPermissionsButton: Gerenciamento de permissões
  • AccountAssets: Exibir ativos do usuário

Serviços sem Interface

  • Serviço de autenticação para implementações personalizadas
  • Utilitários de gerenciamento de sessão
  • Auxiliares de validação de permissão

Início Rápido

Autenticação Básica

import { B3Provider, SignInWithB3 } from "@b3dotfun/sdk/global-account/react";

function App() {
  return (
    <B3Provider environment="production">
      <SignInWithB3
        provider={{ strategy: "google" }}
        partnerId="your-partner-id"
        onLoginSuccess={(globalAccount) => {
          console.log("Usuário autenticado:", globalAccount);
        }}
      />
    </B3Provider>
  );
}

Verificar Status de Autenticação

import { useB3 } from "@b3dotfun/sdk/global-account/react";

function UserProfile() {
  const { account, isAuthenticated } = useB3();

  return (
    <div>
      {isAuthenticated ? (
        <p>Bem-vindo, {account?.displayName}!</p>
      ) : (
        <p>Por favor, faça o login</p>
      )}
    </div>
  );
}

Configuração do Ambiente

Configure suas variáveis de ambiente:
# Produção
NEXT_PUBLIC_B3_API=https://api.b3.fun
NEXT_PUBLIC_BSMNT_API=https://api.basement.fun

# Desenvolvimento  
NEXT_PUBLIC_B3_API=https://dev-api.b3.fun
NEXT_PUBLIC_BSMNT_API=https://dev-api.basement.fun

Próximos Passos