Skip to content

feature: implemented google auth for sign up#82

Open
deb-coder-man wants to merge 2 commits into
mainfrom
feature/google-oauth
Open

feature: implemented google auth for sign up#82
deb-coder-man wants to merge 2 commits into
mainfrom
feature/google-oauth

Conversation

@deb-coder-man
Copy link
Copy Markdown
Contributor

What does this PR do?

Implements the full paid signup flow across the web app and Payload CMS.

Changes include:

  • Splits signup into a dedicated account step and contact info step.
  • Adds AccountSignUpStep with email/password signup and Google OAuth signup.
  • Removes email/password fields from the contact step, leaving first name, last name, and phone number.
  • Adds Google OAuth routes:
    • OAuth start route
    • OAuth callback route
    • Google signup session route
  • Stores Google signup identity in a signed httpOnly cookie.
  • Adds Google OAuth support to checkout using verified server-side session data.
  • Adds Stripe checkout redirect support.
  • Creates/reuses Stripe customers using the signup email.
  • Redirects successful payments to the signup success page.
  • Confirms Stripe checkout sessions after payment.
  • Adds paid members to the Payload users collection after successful payment.
  • Expands Payload users and members fields with signup data:
    • name
    • first name
    • last name
    • phone
    • membership status
    • membership expiry date
    • Stripe customer ID
    • UPI
    • student ID
    • area of study
    • year of university
    • gender
    • ethnicity
    • returning member
    • auth provider
    • Google subject ID
  • Adds password encryption for temporary signup passwords before payment confirmation.
  • Adds duplicate email checks before continuing signup and before Stripe checkout.
  • Adds web and CMS email availability routes.
  • Updates README docs for required Google OAuth environment variables.
  • Fixes lint issue from synchronous state updates inside signup effects.
  • Updates generated Payload types/import map.

Google OAuth setup for local testing:

  1. Go to Google Cloud Console: https://console.cloud.google.com/
  2. Select the project used for this OAuth app (SSA Website).
  3. Navigate to APIs and Services
  4. Navigate to OAuth Consent Screen shown in the left hand side panel.
  5. Click Audience in the left hand side panel
  6. Scroll down to Test Users
  7. Click Add users.
  8. Add the Gmail address you want to test with.
  9. Save changes.

Note: There is no button that actually leads to the sign-up form, so you have to manually enter localhost:3000/signup in the URL bar.

Type of change

  • Feature
  • Bug fix
  • Chore / config
  • Hotfix

Checklist

  • My branch follows the naming convention (feature/, fix/, chore/, hotfix/)
  • My commit messages follow the conventional commits format
  • CI checks pass

Linked Issues

Closes #
Addresses #
Related to #

@deb-coder-man deb-coder-man changed the title fix: fixed linting issues feature: implemented google auth for sign up May 19, 2026
@oorjagandhi oorjagandhi requested review from henryhlly and joengy May 20, 2026 00:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant