Gregniuki commited on
Commit
106c776
·
verified ·
1 Parent(s): 6c491f6

Update appp.py

Browse files
Files changed (1) hide show
  1. appp.py +7 -26
appp.py CHANGED
@@ -60,29 +60,6 @@ app.mount("/static", StaticFiles(directory="static"), name="static")
60
  templates = Jinja2Templates(directory="templates")
61
 
62
  # OAuth routes
63
- @app.get("/login/oauth")
64
- async def login_oauth(request: Request):
65
- redirect_uri = request.url_for('auth_callback')
66
- return await oauth.google.authorize_redirect(request, redirect_uri)
67
-
68
- @app.get("/auth/callback")
69
- async def auth_callback(request: Request, db: Session = Depends(get_db)):
70
- token = await oauth.google.authorize_access_token(request)
71
- user_info = await oauth.google.parse_id_token(request, token)
72
- request.session["user_info"] = user_info
73
-
74
- db_user = db.query(User).filter(User.email == user_info['email']).first()
75
- if not db_user:
76
- db_user = User(email=user_info['email'], username=user_info['name'], is_verified=True)
77
- db.add(db_user)
78
- db.commit()
79
- db.refresh(db_user)
80
-
81
- access_token = create_access_token(data={"sub": db_user.email}, expires_delta=timedelta(minutes=30))
82
- response = RedirectResponse(url="/protected")
83
- response.set_cookie(key="access_token", value=f"Bearer {access_token}", httponly=True)
84
- return response
85
-
86
  @app.post("/login")
87
  async def login(
88
  request: Request,
@@ -111,8 +88,8 @@ async def login_get(request: Request):
111
  google_oauth_url = request.url_for("login_oauth")
112
  return templates.TemplateResponse("login.html", {"request": request, "google_oauth_url": google_oauth_url})
113
 
114
- @app.get("/register/google")
115
- async def register_google(request: Request):
116
  redirect_uri = request.url_for('auth_callback')
117
  return await oauth.google.authorize_redirect(request, redirect_uri)
118
 
@@ -139,10 +116,14 @@ async def auth_callback(request: Request, db: Session = Depends(get_db)):
139
  response.set_cookie(key="access_token", value=f"Bearer {access_token}", httponly=True, secure=True, samesite='Lax')
140
  return response
141
  except Exception as e:
142
- # Handle any exceptions that may occur during the OAuth process
143
  print(f"OAuth exception: {e}")
144
  raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail="An error occurred during OAuth authentication")
145
 
 
 
 
 
 
146
  @app.get("/registration_successful", response_class=HTMLResponse)
147
  async def registration_successful(request: Request):
148
  return templates.TemplateResponse("registration_successful.html", {"request": request})
 
60
  templates = Jinja2Templates(directory="templates")
61
 
62
  # OAuth routes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  @app.post("/login")
64
  async def login(
65
  request: Request,
 
88
  google_oauth_url = request.url_for("login_oauth")
89
  return templates.TemplateResponse("login.html", {"request": request, "google_oauth_url": google_oauth_url})
90
 
91
+ @app.get("/login/oauth")
92
+ async def login_oauth(request: Request):
93
  redirect_uri = request.url_for('auth_callback')
94
  return await oauth.google.authorize_redirect(request, redirect_uri)
95
 
 
116
  response.set_cookie(key="access_token", value=f"Bearer {access_token}", httponly=True, secure=True, samesite='Lax')
117
  return response
118
  except Exception as e:
 
119
  print(f"OAuth exception: {e}")
120
  raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail="An error occurred during OAuth authentication")
121
 
122
+ @app.get("/register/google")
123
+ async def register_google(request: Request):
124
+ redirect_uri = request.url_for('auth_callback')
125
+ return await oauth.google.authorize_redirect(request, redirect_uri)
126
+
127
  @app.get("/registration_successful", response_class=HTMLResponse)
128
  async def registration_successful(request: Request):
129
  return templates.TemplateResponse("registration_successful.html", {"request": request})