SIWE: Aumente a sua capacidade de autenticação de Dapp
SIWE (Iniciar sessão com Ethereum) é um método de verificação de identidade do usuário na Ethereum. É semelhante à iniciação de uma transação, provando o controle do usuário sobre a carteira através da assinatura. Atualmente, a maioria dos plugins de carteira suporta este método simples de autenticação, sendo necessário apenas assinar as informações no plugin.
Este artigo discute principalmente os cenários de assinatura na Ethereum, sem abordar outras blockchains públicas como Solana, SUI, etc.
Quando é necessário usar SIWE
Se a sua Dapp tiver as seguintes necessidades, pode considerar usar o SIWE:
Ter um sistema de utilizadores independente
É necessário consultar informações relacionadas à identificação do usuário.
Para Dapps( focados em consultas, como etherscan), não é necessariamente necessário o SIWE.
Embora conectar uma carteira em Dapp pareça já ter provado a identificação do usuário, isso só é válido para o front-end. Para chamadas de interface que precisam de suporte do back-end, apenas passar o endereço não é suficiente, pois o endereço é uma informação pública e qualquer pessoa pode "emprestar".
Princípio e processo do SIWE
O processo SIWE pode ser resumido em três etapas: conectar a carteira - assinar - obter identificação.
conectar carteira
Esta é uma operação comum do Web3, conectando a carteira do usuário no Dapp através de um plugin de carteira.
assinatura
Os passos para a assinatura do SIWE incluem obter o valor Nonce, assinatura da carteira e verificação da assinatura no backend.
Primeiro, é necessário chamar a interface do backend para obter o valor Nonce. O backend irá gerar um Nonce aleatório e associá-lo ao endereço atual.
Após obter o Nonce no front-end, construa o conteúdo da assinatura, incluindo Nonce, domínio, ID da cadeia e outras informações, e em seguida use o método fornecido pela carteira para assinar.
Por fim, envie a assinatura para o backend para validação.
obter identificação
Após a verificação da assinatura no backend, será retornada a identificação do usuário (, como JWT). O frontend deve incluir o endereço e a identificação nas solicitações subsequentes para provar a propriedade da carteira.
Guia Prático
Os seguintes são os passos básicos para implementar SIWE usando Next.js:
Instalar o Next.js e as dependências relacionadas
Introduzir componentes Wagmi e Ant Design Web3
Configurar WagmiProvider
Implementar o botão de conectar carteira
Desenvolver a interface de back-end (Nonce geração e verificação de assinatura )
O código específico pode ser encontrado no texto original.
Sugestões de otimização
Usar um serviço de nós específico ( como ZAN) pode melhorar significativamente o tempo de resposta da verificação SIWE. Substituir o RPC padrão pelo endereço RPC de um serviço de nós de alto desempenho pode reduzir drasticamente o tempo de verificação e aumentar a velocidade da interface.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
15 gostos
Recompensa
15
6
Partilhar
Comentar
0/400
ProposalManiac
· 07-23 08:46
ainda não escapamos do destino da validação centralizada
Ver originalResponder0
LiquidatedTwice
· 07-20 10:02
Muito bom, um novo impulso para um projeto antigo.
Ver originalResponder0
RugPullAlertBot
· 07-20 10:02
Mais um conceito de Criptografia, escapou!
Ver originalResponder0
0xLuckbox
· 07-20 09:51
Outra operação que consome gás
Ver originalResponder0
MEV_Whisperer
· 07-20 09:51
A verificação de identificação é uma armadilha.
Ver originalResponder0
CryptoTherapist
· 07-20 09:43
vamos desempacotar a resistência psicológica à autenticação web3, para ser honesto... questões de confiança clássicas
SIWE: Melhorar a identificação da Dapp, fácil de realizar o login no Ethereum
SIWE: Aumente a sua capacidade de autenticação de Dapp
SIWE (Iniciar sessão com Ethereum) é um método de verificação de identidade do usuário na Ethereum. É semelhante à iniciação de uma transação, provando o controle do usuário sobre a carteira através da assinatura. Atualmente, a maioria dos plugins de carteira suporta este método simples de autenticação, sendo necessário apenas assinar as informações no plugin.
Este artigo discute principalmente os cenários de assinatura na Ethereum, sem abordar outras blockchains públicas como Solana, SUI, etc.
Quando é necessário usar SIWE
Se a sua Dapp tiver as seguintes necessidades, pode considerar usar o SIWE:
Para Dapps( focados em consultas, como etherscan), não é necessariamente necessário o SIWE.
Embora conectar uma carteira em Dapp pareça já ter provado a identificação do usuário, isso só é válido para o front-end. Para chamadas de interface que precisam de suporte do back-end, apenas passar o endereço não é suficiente, pois o endereço é uma informação pública e qualquer pessoa pode "emprestar".
Princípio e processo do SIWE
O processo SIWE pode ser resumido em três etapas: conectar a carteira - assinar - obter identificação.
conectar carteira
Esta é uma operação comum do Web3, conectando a carteira do usuário no Dapp através de um plugin de carteira.
assinatura
Os passos para a assinatura do SIWE incluem obter o valor Nonce, assinatura da carteira e verificação da assinatura no backend.
Primeiro, é necessário chamar a interface do backend para obter o valor Nonce. O backend irá gerar um Nonce aleatório e associá-lo ao endereço atual.
Após obter o Nonce no front-end, construa o conteúdo da assinatura, incluindo Nonce, domínio, ID da cadeia e outras informações, e em seguida use o método fornecido pela carteira para assinar.
Por fim, envie a assinatura para o backend para validação.
obter identificação
Após a verificação da assinatura no backend, será retornada a identificação do usuário (, como JWT). O frontend deve incluir o endereço e a identificação nas solicitações subsequentes para provar a propriedade da carteira.
Guia Prático
Os seguintes são os passos básicos para implementar SIWE usando Next.js:
O código específico pode ser encontrado no texto original.
Sugestões de otimização
Usar um serviço de nós específico ( como ZAN) pode melhorar significativamente o tempo de resposta da verificação SIWE. Substituir o RPC padrão pelo endereço RPC de um serviço de nós de alto desempenho pode reduzir drasticamente o tempo de verificação e aumentar a velocidade da interface.