SIWE: Mejora tu capacidad de verificación de identidad en Dapp
SIWE (Iniciar sesión con Ethereum) es un método para verificar la identificación del usuario en Ethereum. Es similar a iniciar una transacción, demostrando el control del usuario sobre la billetera a través de una firma. Actualmente, la mayoría de los complementos de billetera admiten este sencillo método de identificación, que solo requiere firmar la información en el complemento.
Este artículo discute principalmente los escenarios de firma en Ethereum, sin involucrar otras cadenas públicas como Solana o SUI.
Cuándo es necesario usar SIWE
Si tu Dapp tiene los siguientes requisitos, puedes considerar usar SIWE:
Tener un sistema de usuarios independiente
Necesita consultar información relacionada con la identificación del usuario.
Para Dapps( centrados en consultas como etherscan), no es necesario SIWE.
Aunque parece que conectar una billetera en Dapp ya ha probado la identificación del usuario, esto solo es efectivo en el front-end. Para las llamadas a la interfaz que requieren soporte de back-end, simplemente pasar la dirección no es suficiente, porque la dirección es información pública, cualquiera puede "tomarla prestada".
El principio y el proceso de SIWE
El proceso de 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, que conecta la billetera del usuario en Dapp a través de un complemento de billetera.
firma
Los pasos de firma de SIWE incluyen obtener el valor Nonce, la firma de la billetera y la verificación de la firma en el backend.
Primero, es necesario llamar a la interfaz del backend para obtener el valor de Nonce. El backend generará un Nonce aleatorio y lo asociará con la dirección actual.
Después de obtener el Nonce en el frontend, construye el contenido de la firma, incluyendo el Nonce, el dominio, el ID de la cadena y otra información, y luego utiliza el método proporcionado por la billetera para firmar.
Finalmente, envíe la firma al backend para su verificación.
obtener identificación
Después de que la verificación de la firma en el backend sea exitosa, se devolverá la identificación del usuario ( como JWT). El frontend debe incluir la dirección y la identificación en las solicitudes posteriores, lo que podrá demostrar la propiedad de la billetera.
Guía de práctica
Los siguientes son los pasos básicos para implementar SIWE utilizando Next.js:
Instalar Next.js y las dependencias relacionadas
Introducir los componentes Wagmi y Ant Design Web3
Configurar WagmiProvider
Implementar botón de conexión de billetera
Desarrollo de la interfaz de backend (Nonce generación y verificación de firma )
La implementación del código específico se puede consultar en el texto original.
Sugerencias de optimización
El uso de servicios de nodos especializados ( como ZAN) puede mejorar significativamente el tiempo de respuesta de la verificación SIWE. Reemplazar la RPC predeterminada por la dirección RPC de un servicio de nodos de alto rendimiento puede reducir drásticamente el tiempo de verificación y aumentar la velocidad de la interfaz.
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.
15 me gusta
Recompensa
15
6
Compartir
Comentar
0/400
ProposalManiac
· 07-23 08:46
Todavía no se puede escapar del destino de la verificación centralizada.
Ver originalesResponder0
LiquidatedTwice
· 07-20 10:02
Muy bien, un nuevo enfoque para un viejo proyecto.
Ver originalesResponder0
RugPullAlertBot
· 07-20 10:02
Otro concepto de Criptografía se escapó.
Ver originalesResponder0
0xLuckbox
· 07-20 09:51
Otra operación que quema gas
Ver originalesResponder0
MEV_Whisperer
· 07-20 09:51
La verificación de identificación es una trampa.
Ver originalesResponder0
CryptoTherapist
· 07-20 09:43
desempaquemos la resistencia psicológica a la autenticación web3, para ser honesto... problemas clásicos de confianza
SIWE: Mejora de la identificación Dapp, fácil implementación del inicio de sesión en Ethereum
SIWE: Mejora tu capacidad de verificación de identidad en Dapp
SIWE (Iniciar sesión con Ethereum) es un método para verificar la identificación del usuario en Ethereum. Es similar a iniciar una transacción, demostrando el control del usuario sobre la billetera a través de una firma. Actualmente, la mayoría de los complementos de billetera admiten este sencillo método de identificación, que solo requiere firmar la información en el complemento.
Este artículo discute principalmente los escenarios de firma en Ethereum, sin involucrar otras cadenas públicas como Solana o SUI.
Cuándo es necesario usar SIWE
Si tu Dapp tiene los siguientes requisitos, puedes considerar usar SIWE:
Para Dapps( centrados en consultas como etherscan), no es necesario SIWE.
Aunque parece que conectar una billetera en Dapp ya ha probado la identificación del usuario, esto solo es efectivo en el front-end. Para las llamadas a la interfaz que requieren soporte de back-end, simplemente pasar la dirección no es suficiente, porque la dirección es información pública, cualquiera puede "tomarla prestada".
El principio y el proceso de SIWE
El proceso de 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, que conecta la billetera del usuario en Dapp a través de un complemento de billetera.
firma
Los pasos de firma de SIWE incluyen obtener el valor Nonce, la firma de la billetera y la verificación de la firma en el backend.
Primero, es necesario llamar a la interfaz del backend para obtener el valor de Nonce. El backend generará un Nonce aleatorio y lo asociará con la dirección actual.
Después de obtener el Nonce en el frontend, construye el contenido de la firma, incluyendo el Nonce, el dominio, el ID de la cadena y otra información, y luego utiliza el método proporcionado por la billetera para firmar.
Finalmente, envíe la firma al backend para su verificación.
obtener identificación
Después de que la verificación de la firma en el backend sea exitosa, se devolverá la identificación del usuario ( como JWT). El frontend debe incluir la dirección y la identificación en las solicitudes posteriores, lo que podrá demostrar la propiedad de la billetera.
Guía de práctica
Los siguientes son los pasos básicos para implementar SIWE utilizando Next.js:
La implementación del código específico se puede consultar en el texto original.
Sugerencias de optimización
El uso de servicios de nodos especializados ( como ZAN) puede mejorar significativamente el tiempo de respuesta de la verificación SIWE. Reemplazar la RPC predeterminada por la dirección RPC de un servicio de nodos de alto rendimiento puede reducir drásticamente el tiempo de verificación y aumentar la velocidad de la interfaz.