Inspiration
The inspiration for this project came from the increasing need for secure authentication methods in modern applications. Implementing Two-Factor Authentication (2FA) ensures an additional layer of security, protecting user accounts from unauthorized access. It was also an exciting opportunity to learn and showcase advanced authentication techniques.
What it does
The project implements a robust 2FA system for a mobile application. Users are required to enter their credentials (username and password) and verify their identity through a second factor: a one-time passcode (OTP) sent to their email. This ensures that only authorized users can access the application.
How we built it
The project was built using Android Studio and Java for the front-end and Firebase for back-end services, including authentication and email OTP delivery. Key features include:
Sign Up/Sign In system: Users create accounts with email and password. Email OTP generation: A secure OTP is generated and sent to the user’s registered email. Validation and error handling: Ensures OTPs are unique, time-sensitive, and properly validated.
Challenges we ran into
Time-sensitive OTP validation: Ensuring OTPs expire after a set duration required careful handling of time-based logic. Email delivery reliability: Ensuring OTPs were delivered promptly to users, despite network delays. User experience: Balancing security and usability to ensure the 2FA process was not overly cumbersome.
Accomplishments that we're proud of
Successfully implementing a live 2FA demo during class, achieving an automatic 10 grade. Building a fully functional, secure authentication system from scratch. Enhancing the app's user experience while maintaining robust security.
What we learned
In-depth knowledge of secure authentication practices and 2FA implementation. The importance of balancing security with user experience. Efficient error handling and debugging techniques in real-time scenarios.
What's next for 2FA-Implementation
Multi-platform support: Extending the app’s compatibility to iOS and Windows platforms. 2FA options: Adding support for SMS-based OTPs and authenticator apps. Push notifications: Implementing push notifications for login alerts and OTP delivery. Biometric authentication: Introducing fingerprint or facial recognition as an alternative 2FA method. Scalability: Optimizing the system for larger user bases and enterprise-level applications.
Log in or sign up for Devpost to join the conversation.