This repository offers a sample implementation for Sign-In with Ethereum, based on the EIP-4361 standard. This form of off-chain authentication allows users to control their digital identity with their Ethereum account and ENS profile, offering a secure alternative to traditional forms of authentication.
The project utilizes SIWE (Sign-In with Ethereum) packages to implement this form of authentication. The front-end is built using Next.js and uses the SIWE package. The backend is Dockerized and implemented using FastAPI and siwe-py.
Note: This project is a work-in-progress and state management is not yet optimized for production. The state may be reset if the container is killed.
- Off-chain authentication based on ERC-4361 standard
- Backend implemented in FastAPI with siwe-py
- Front-end developed using Next.js
- Session management with nonce-based challenge
For more information on SIWE and its features, consult the official SIWE documentation.
FE: npm i && npm dev BE: ./rebuild.sh
Special thanks to:
- Spruce ID for providing the SIWE package.
- Gui Bibeau @GuiBibeau: For their example on browser login and interaction.
- Eric Bishard @httpJunkie