mestafrica / mobile-wallet-fraud-database

Currently, curbing mobile money fraud in the country is nearly impossible. To tackle this issue, we propose developing a real-time database that allows users to query and determine if a phone number is likely fraudulent based on public contributions, especially from those who have experienced fraud.
MIT License
0 stars 17 forks source link

Implement Google OAuth Login (Sign in with Google) #127

Closed muchinon closed 1 week ago

muchinon commented 2 weeks ago

Endpoint: /api/auth/google

Methods:

GET: Initiate Google OAuth flow
POST: Handle OAuth callback

Description: Add Google OAuth 2.0 authentication to allow users to sign in with their Google accounts.

Key Features:

Generate Google OAuth URL
Handle OAuth callback and token verification
Create/update user accounts with Google data
Generate session tokens for authenticated users

Parameters:

code: Authorization code from Google
state: Security verification string

Response:

email: User's email
name: User's name
token: Authentication token (Session token or JWT for authenticated session)

Authorization Required: No

Feedback: Success: Returns user data and session token Failure: "Google authentication failed" with error details

Security Considerations:

Validate OAuth state parameter
Verify token integrity
Secure token storage
Implement rate limiting
ejebulley commented 2 weeks ago

Please assign me to this issue