SIWE: una herramienta para mejorar la capacidad de verificación de identidad de Dapp
SIWE (Iniciar sesión con Ethereum) es un método para verificar la identificación del usuario en Ethereum, similar a iniciar una transacción, que prueba el control del usuario sobre su billetera. Actualmente, el proceso de autenticación se ha simplificado mucho, solo es necesario firmar la información en el complemento de la billetera, y la mayoría de los complementos de billetera comunes ya son compatibles con esta función.
Este artículo explora principalmente el escenario de firmas en Ethereum, sin involucrar otras blockchains como Solana, SUI, etc.
Cuándo se necesita SIWE
Si tu Dapp tiene las siguientes características, puedes considerar el uso de SIWE:
Tener un sistema de usuarios independiente
Necesita consultar información relacionada con la identificación del usuario.
Para aplicaciones cuyo función principal es la consulta, como los exploradores de bloques, no se necesita usar SIWE.
Aunque parece que la identificación ya se ha demostrado después de conectar la billetera en la Dapp, esto solo es efectivo para el frontend. Para las llamadas a interfaces que requieren soporte backend, solo pasar la dirección no es suficiente, ya que la dirección es información pública y es fácil de falsificar.
Cómo funciona SIWE
El proceso de SIWE se puede resumir en tres pasos: conectar la billetera, firmar, obtener la identificación.
Conectar billetera: conectar la billetera del usuario en Dapp a través del complemento de billetera.
Firma:
Obtener el valor de Nonce: Llamar a la interfaz del backend para obtener un valor de Nonce generado aleatoriamente.
Firma de la billetera: construir el contenido de la firma que incluye el valor Nonce, el nombre de dominio, el ID de la cadena y otra información, utilizando el método proporcionado por la billetera para firmar.
Enviar firma: enviar la firma al backend para su verificación.
Obtener identificación:
Una vez que la firma de validación del backend se aprueba, se devuelve la identificación del usuario (como JWT). En las solicitudes posteriores, al incluir la dirección y la identificación, se puede demostrar la propiedad de la billetera.
Guía de Práctica
Este artículo utiliza Next.js para desarrollar aplicaciones de pila completa, integrando la funcionalidad SIWE. Los siguientes son los pasos principales:
Instalar dependencias:
Usa create-next-app para crear el proyecto e instala las dependencias relacionadas con SIWE.
Introducción de Wagmi:
Importa WagmiProvider en layout.tsx y configura las interfaces relacionadas con SIWE.
Añadir botón de conexión:
Implementar un componente de botón para conectar la billetera y firmar.
Implementación de la interfaz:
Generación de Nonce: crear una cadena aleatoria y asociarla con la dirección.
Verificación de firma: el backend verifica el contenido de la firma, comprueba el valor de Nonce y genera JWT.
Optimización:
Se recomienda utilizar servicios de nodo especializados (como ZAN) para mejorar la velocidad de respuesta de la interfaz.
A través de los pasos anteriores, se puede implementar un marco básico de inicio de sesión SIWE, proporcionando un mecanismo de autenticación más seguro y confiable para Dapp.
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.
13 me gusta
Recompensa
13
5
Compartir
Comentar
0/400
ChainSherlockGirl
· hace4h
¿Firma de billetera SIWE? Rumores dicen que algunos blue chips han sido víctimas de cupones de clip. La interpretación personal está por confirmar.
Ver originalesResponder0
AirdropHarvester
· hace4h
Finalmente no tengo que hacer copias de seguridad de las contraseñas por todas partes~
Ver originalesResponder0
Web3Educator
· hace4h
*ajusta las gafas* web3 auth finalmente hecho bien, para ser honesto
SIWE: nuevo estándar de identificación de Ethereum que mejora la seguridad de Dapp y la experiencia del usuario
SIWE: una herramienta para mejorar la capacidad de verificación de identidad de Dapp
SIWE (Iniciar sesión con Ethereum) es un método para verificar la identificación del usuario en Ethereum, similar a iniciar una transacción, que prueba el control del usuario sobre su billetera. Actualmente, el proceso de autenticación se ha simplificado mucho, solo es necesario firmar la información en el complemento de la billetera, y la mayoría de los complementos de billetera comunes ya son compatibles con esta función.
Este artículo explora principalmente el escenario de firmas en Ethereum, sin involucrar otras blockchains como Solana, SUI, etc.
Cuándo se necesita SIWE
Si tu Dapp tiene las siguientes características, puedes considerar el uso de SIWE:
Para aplicaciones cuyo función principal es la consulta, como los exploradores de bloques, no se necesita usar SIWE.
Aunque parece que la identificación ya se ha demostrado después de conectar la billetera en la Dapp, esto solo es efectivo para el frontend. Para las llamadas a interfaces que requieren soporte backend, solo pasar la dirección no es suficiente, ya que la dirección es información pública y es fácil de falsificar.
Cómo funciona SIWE
El proceso de SIWE se puede resumir en tres pasos: conectar la billetera, firmar, obtener la identificación.
Conectar billetera: conectar la billetera del usuario en Dapp a través del complemento de billetera.
Firma:
Obtener identificación: Una vez que la firma de validación del backend se aprueba, se devuelve la identificación del usuario (como JWT). En las solicitudes posteriores, al incluir la dirección y la identificación, se puede demostrar la propiedad de la billetera.
Guía de Práctica
Este artículo utiliza Next.js para desarrollar aplicaciones de pila completa, integrando la funcionalidad SIWE. Los siguientes son los pasos principales:
A través de los pasos anteriores, se puede implementar un marco básico de inicio de sesión SIWE, proporcionando un mecanismo de autenticación más seguro y confiable para Dapp.