feat: Implement OAuth2 authentication with Google and GitHub
- Added OAuth2 endpoints for Google and GitHub authentication. - Created OAuth service to handle provider interactions and user info retrieval. - Implemented user OAuth repository for managing user OAuth links in the database. - Updated auth service to support linking existing users and creating new users via OAuth. - Added CORS middleware to allow frontend access. - Created tests for OAuth endpoints and service functionality. - Introduced environment configuration for OAuth client IDs and secrets. - Added logging for OAuth operations and error handling.
This commit is contained in:
@@ -9,6 +9,7 @@ dependencies = [
|
||||
"bcrypt==4.3.0",
|
||||
"email-validator==2.2.0",
|
||||
"fastapi[standard]==0.116.1",
|
||||
"httpx==0.28.1",
|
||||
"pydantic-settings==2.10.1",
|
||||
"pyjwt==2.10.1",
|
||||
"sqlmodel==0.0.24",
|
||||
@@ -36,7 +37,7 @@ exclude = ["alembic"]
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = ["ALL"]
|
||||
ignore = ["D100", "D103"]
|
||||
ignore = ["D100", "D103", "TRY301"]
|
||||
|
||||
[tool.ruff.per-file-ignores]
|
||||
"tests/**/*.py" = ["S101", "S105"]
|
||||
|
||||
Reference in New Issue
Block a user