Skip to content

[JITERA] Implement Google Sign-In Feature

Jefry Dewangga requested to merge feat/google-sign-in-1747568472 into main

Overview

This pull request implements the Google Sign-In feature, allowing users to authenticate using their Google accounts. The implementation includes the necessary backend and frontend changes to support OAuth integration, user account provisioning, and security measures.

Changes Made

  1. Requirements Review: Reviewed the Google Sign-In functional requirements document to ensure all scenarios, edge cases, and compliance aspects are addressed.
  2. Codebase Investigation: Analyzed the existing authentication codebase to identify integration points for Google OAuth functionality.
  3. OAuth Integration: Implemented Google OAuth integration in the authentication service, including the OAuth dance, token exchange, and user account provisioning/merging.
  4. Data Model Updates: Investigated existing user attribute models and added Google-specific attributes such as google_uid, avatar_url, and the last Google login timestamp.
  5. Security Measures: Implemented edge case handling and security measures, including consent denial, token signature verification, CSRF protection, and compliance with security requirements.
  6. Frontend Changes: Reviewed the frontend codebase to identify where to add the "Continue with Google" button and handle the OAuth flow.
  7. UI Component Addition: Added a "Continue with Google" button to the login page, ensuring it meets accessibility standards and correctly initiates the OAuth flow.

Next Steps

  • Develop unit tests for the Google Sign-In functionality.
  • Update or create documentation for the Google Sign-In feature.

Merge request reports