SIWE na prática: três passos para criar um sistema de identificação Ethereum

robot
Geração do resumo em andamento

Guia de Uso do SIWE: Torne seu Dapp mais poderoso

SIWE(Entrar com Ethereum) é uma forma de verificar a identidade do usuário na Ethereum, semelhante à iniciação de transações pela carteira, provando o controle do usuário sobre a carteira. Atualmente, a autenticação é muito simples, basta assinar as informações no plugin da carteira, e a maioria dos plugins de carteira comuns já oferece suporte. Este artigo discute principalmente os cenários de assinatura na Ethereum.

Manual de Uso do SIWE: Como tornar seu Dapp mais poderoso?

Será necessário SIWE

Se a sua Dapp tiver as seguintes necessidades, pode considerar usar SIWE:

  • Ter seu próprio sistema de usuários
  • É necessário consultar informações relacionadas à privacidade do usuário

Mas se o seu Dapp for principalmente uma funcionalidade de consulta, como uma aplicação semelhante ao etherscan, então não é necessariamente necessário o SIWE.

Você pode estar se perguntando, ao conectar-se à Dapp através da carteira, isso não prova a propriedade da carteira? Isso só é válido para o front-end. Para chamadas de interface que requerem suporte ao back-end, apenas passar o endereço não é suficiente, pois o endereço é uma informação pública, qualquer um pode "emprestar" sua identidade.

Manual de uso do SIWE: Como tornar seu Dapp mais poderoso?

Princípios e Processos do SIWE

O processo SIWE pode ser resumido em três etapas: conectar a carteira - assinar - obter a identificação.

Conectar carteira

Esta é uma operação comum do Web3, conectando a carteira no Dapp através de um plugin de carteira.

assinatura

Os passos de assinatura incluem a obtenção do valor Nonce, a assinatura da carteira e a verificação da assinatura no backend.

O backend gera um valor nonce aleatório e associa-o ao endereço. O frontend, após obter o valor nonce, constrói o conteúdo da assinatura, incluindo o valor nonce, o domínio, o ID da cadeia, entre outros, usando o método fornecido pela carteira para assinar. Por fim, a assinatura é enviada ao backend.

Obter identificação

Após a validação da assinatura no backend, retorna-se a identificação do usuário ( como JWT). As solicitações subsequentes no frontend devem incluir o endereço e a identificação, o que prova a propriedade da carteira.

Manual de Uso do SIWE: Como tornar seu Dapp mais poderoso?

Prática SIWE

Vamos desenvolver uma demonstração simples de SIWE usando Next.js, mostrando o fluxo básico. Nota: esta demonstração é apenas para fins de apresentação, o uso em ambiente de produção pode apresentar problemas de segurança.

trabalho preparatório

  1. Instalar o Next.js

npx create-next-app@14

Manual de Uso do SIWE: Como tornar seu Dapp mais poderoso?

  1. Instalar dependências relacionadas ao SIWE

npm install antd @ant-design/web3 @ant-design/web3-wagmi wagmi viem @tanstack/react-query --save

Manual de Uso do SIWE: Como tornar seu Dapp mais poderoso?

  1. Importar WagmiProvider em layout.tsx

Manual de Uso do SIWE: Como tornar sua Dapp mais poderosa?

  1. Implementar o botão de conexão da carteira

  2. Implementar a interface de backend

    • Geração de Nonce
    • Verificação de assinatura
  3. Otimização: Utilizar serviços de nó dedicados para melhorar a velocidade de resposta

Através dos passos acima, implementámos uma estrutura básica de login SIWE. O uso de serviços de nós profissionais pode aumentar significativamente a velocidade de validação, sendo recomendado para ambientes de produção.

Manual de uso do SIWE: Como tornar seu Dapp mais poderoso?

ETH0.15%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 7
  • Repostar
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Negocie criptomoedas a qualquer hora e em qualquer lugar
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)