En lugar de usar los métodos normales de autenticación de Firebase, quiero usar web3 (específicamente metamask) para proporcionar registro/inicio de sesión sin necesidad de correo electrónico y contraseñas. El problema es, ¿cómo manejo los registros?
Una forma en que pensé en hacerlo sería usar la dirección de la billetera de los usuarios como correo electrónico y simplemente agregar mi dominio como la parte @, por ejemplo: 0x0000000000000000000000000000000000000000@example.com pero luego el problema es cómo agrego una contraseña para que Firebase la use ?
¿Hay alguna forma de autenticarse usando metamask?
Ojalá hubiera visto esta pregunta antes. Hemos desarrollado un mecanismo solo para esto que requiere un servidor que ejecute firebase-admin
que acumule un token personalizado y se lo pase al cliente e inicie sesión con signInWithCustomToken
.
El código está aquí https://github.com/novum-insights/sveltekit-unlock-firebase .
Este es un modelo estándar que usa sveltekit y paga al usuario con un protocolo de desbloqueo.