-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
For the initial version of de-mls, user registration relied on a mock implementation for online registration. To align with Web3 principles and enhance user authentication, it is now essential to integrate support for Ethereum wallet-based user registration.
This feature will allow users to authenticate and register into group chat directly using their Ethereum wallets (e.g., MetaMask, WalletConnect-compatible wallets) instead of current solution (providing Ethereum private key). This improves security, user experience, and aligns with decentralized identity paradigms.
Scope:
- Integrate a Rust-compatible library or implement logic for Ethereum signature verification on the backend.
- Develop the necessary frontend components (e.g., a "Connect Wallet" button, UI for signing messages) to interact with popular Ethereum wallets.
- Update
de-mls's user management system to support user identities based on Ethereum public addresses. - Define the API endpoints required for the wallet connection, challenge generation, signature verification, and registration/login flow.
- Ensure secure handling of messages and signatures to prevent replay attacks and other vulnerabilities.
- Add comprehensive unit and integration tests for the new authentication flow.
Deliverables:
- Updated
de-mlscodebase with Ethereum wallet-based registration and authentication functionality. - Clear API documentation for the new wallet integration endpoints.
- End-to-end tests covering the wallet registration/login flow.
- User-facing documentation or examples on how to register/login with an Ethereum wallet.
Metadata
Metadata
Assignees
Labels
No labels