SIWE en acción: tres pasos para crear un sistema de identificación de Ethereum

robot
Generación de resúmenes en curso

Guía de uso de SIWE: Haz que tu Dapp sea más potente

SIWE(Iniciar sesión con Ethereum) es una forma de verificar la identidad del usuario en Ethereum, similar a iniciar una transacción desde una billetera para demostrar el control del usuario sobre la billetera. Actualmente, la autenticación es muy sencilla, solo es necesario firmar la información en el complemento de la billetera, la mayoría de los complementos de billetera comunes ya son compatibles. Este artículo discute principalmente los escenarios de firma en Ethereum.

Manual de uso de SIWE: ¿Cómo hacer que tu Dapp sea más poderosa?

¿Es necesario SIWE?

Si tu Dapp tiene los siguientes requisitos, puedes considerar usar SIWE:

  • Tener su propio sistema de usuarios
  • Se necesita consultar información relacionada con la privacidad del usuario

Pero si tu Dapp se centra principalmente en funciones de consulta, como aplicaciones similares a etherscan, no necesariamente necesitas SIWE.

Puedes preguntarte, ¿no se supone que al conectar la billetera a la Dapp ya se ha demostrado la propiedad de la billetera? Esto solo es efectivo en el front-end. Para las llamadas a la API que requieren soporte del back-end, solo pasar la dirección no es suficiente, ya que la dirección es información pública y cualquiera puede "tomar prestada" tu identidad.

Manual de uso de SIWE: ¿Cómo hacer que tu Dapp sea más potente?

Principios y proceso de SIWE

El proceso SIWE se puede resumir en tres pasos: conectar la billetera - firmar - obtener la identificación.

Conectar billetera

Esta es una operación común de Web3, conectar la billetera en Dapp a través de un complemento de billetera.

firma

Los pasos de firma incluyen obtener el valor Nonce, la firma de la billetera y la verificación de la firma en el backend.

El backend genera un valor nonce aleatorio y lo asocia con la dirección. El frontend obtiene el valor nonce y construye el contenido de la firma, que incluye el valor nonce, el nombre de dominio, el ID de la cadena, etc., utilizando el método proporcionado por la billetera para firmar. Finalmente, se envía la firma al backend.

Obtener identificación

Después de que la verificación de la firma del backend sea exitosa, se devuelve la identificación de usuario ( como JWT ). En las solicitudes posteriores del frontend, se debe incluir la dirección y la identificación para probar la propiedad de la billetera.

Manual de uso de SIWE: ¿Cómo hacer que tu Dapp sea más poderosa?

Práctica SIWE

Vamos a desarrollar una demo simple de SIWE utilizando Next.js, para mostrar el proceso básico. Nota: esta demo es solo para presentación, su uso en un entorno de producción podría presentar problemas de seguridad.

trabajo preparatorio

  1. Instalar Next.js

npx create-next-app@14

Manual de uso de SIWE: ¿Cómo hacer que tu Dapp sea más potente?

  1. Instalar las dependencias relacionadas con SIWE

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

Manual de uso de SIWE: ¿Cómo hacer que tu Dapp sea más potente?

  1. Importa WagmiProvider en layout.tsx

Manual de uso de SIWE: ¿Cómo hacer que tu Dapp sea más potente?

  1. Implementar el botón de conexión de billetera

  2. Implementar la interfaz de backend

    • Generación de Nonce
    • Verificación de firma
  3. Optimización: utilizar servicios de nodos especializados para mejorar la velocidad de respuesta

A través de los pasos anteriores, hemos implementado un marco básico de inicio de sesión SIWE. Utilizar servicios de nodos profesionales puede mejorar significativamente la velocidad de verificación, se recomienda adoptarlo en entornos de producción.

Manual de uso de SIWE: ¿Cómo hacer que tu Dapp sea más poderosa?

ETH2.97%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 7
  • Republicar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Opera con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)