-
Notifications
You must be signed in to change notification settings - Fork 81
Open
Labels
Description
Overview
Enhance user experience and accessibility by introducing a traditional Web2-style authentication flow. This new approach will allow non-technical users to sign up and log in using a common email/username and password interface, while securely linking each account to its corresponding blockchain wallet address. 🔐
Details
Signup Flow
- Allow users to create an account using an email and password (we already have this on the frontend).
- Automatically link the new account with the user's wallet address that is connected to the application.
- Validate that each wallet address is unique to ensure no duplicate account associations.
- Securely handle and store user credentials using industry-standard practices.
Login Flow
- Implement a login mechanism that verifies user credentials and authenticates the user.
- Upon successful login, retrieve and return detailed user information including:
- Wallet address
- User role (e.g., LandOwner or Inspector)
- Registered lands (if applicable)
- Additional metadata
- Ensure proper error handling for invalid credentials or authentication failures.
⚠️
Technical Considerations
- Ensure secure storage and processing of passwords (e.g., hashing, salting).
- Maintain consistency with LandVer's current security and architecture standards.
- Integrate this flow seamlessly with the existing backend services in the
land-registry-backendcomponent. - Test the new authentication flows thoroughly to ensure both functionality and security.
Deliverables
- A signup form allowing traditional email/username and password registration with wallet linking.
- A login form that authenticates users and retrieves their account data.
- Backend updates to enforce unique wallet associations and secure credential storage.
- Proper error handling and user feedback for both flows.
This improvement is key to making LandVer more approachable for users unfamiliar with blockchain wallet integrations while maintaining robust security for on-chain interactions. 🚀
Reactions are currently unavailable