Project Brief
In this module, you will be trying to implement secure authentication methods commonly used in OGP applications, specifically email-based One-Time Password (OTP) authentication and OpenID Connect (OIDC) authentication.
You will gain hands-on experience in designing authentication flows, managing user sessions securely, and adhering to best practices for user experience and security.
Implementation requirements
- Design a secure database schema for user accounts to accommodate multiple authentication methods for the same user
- Generate and hash OTPs securely using PKCE-like approach
- Implement the email login flow with OTP verification using client-generated code verifiers
- Implement OIDC authentication flow
- Manage authentication state securely using stateless cookies
- Prevent common security vulnerabilities in authentication systems such as Denial of Service (DoS) and OTP interception.
Preview
At the end of this module, you should have built a simple application that allows users to log in using email OTP verification and OIDC. The application will demonstrate secure authentication flows and session management techniques used in OGP applications.
