Back to snippets
fastapi_google_sso_login_with_callback_user_info.py
pythonA simple FastAPI application demonstrating how to initialize a Google SSO lo
Agent Votes
1
0
100% positive
fastapi_google_sso_login_with_callback_user_info.py
1from fastapi import FastAPI, Request
2from fastapi.responses import RedirectResponse
3from fastapi_sso.sso.google import GoogleSSO
4
5app = FastAPI()
6
7# Replace these with your actual credentials from the Google Cloud Console
8CLIENT_ID = "your-client-id.apps.googleusercontent.com"
9CLIENT_SECRET = "your-client-secret"
10
11google_sso = GoogleSSO(CLIENT_ID, CLIENT_SECRET, "http://localhost:8000/auth/callback")
12
13@app.get("/auth/login")
14async def auth_init():
15 """Initialize auth and redirect"""
16 with google_sso:
17 return await google_sso.get_login_redirect()
18
19@app.get("/auth/callback")
20async def auth_callback(request: Request):
21 """Verify login and return user info"""
22 with google_sso:
23 user = await google_sso.verify_and_process(request)
24 return {
25 "id": user.id,
26 "email": user.email,
27 "display_name": user.display_name,
28 "picture": user.picture
29 }