Cosmetic
This commit is contained in:
parent
fa4032c0e6
commit
78ce6fd01a
1 changed files with 14 additions and 11 deletions
|
@ -174,9 +174,11 @@ async def current_user(request: Request, token: str | None = Depends(fastapi_oau
|
|||
async def login(request: Request, provider: str) -> RedirectResponse:
|
||||
redirect_uri = request.url_for("auth", provider=provider)
|
||||
try:
|
||||
return await getattr(authlib_oauth, provider).authorize_redirect(
|
||||
request, redirect_uri
|
||||
)
|
||||
provider_ = getattr(authlib_oauth, provider)
|
||||
except AttributeError:
|
||||
raise HTTPException(500, "")
|
||||
try:
|
||||
return await provider_.authorize_redirect(request, redirect_uri)
|
||||
except HTTPError:
|
||||
raise HTTPException(status.HTTP_401_UNAUTHORIZED, "Cannot reach provider")
|
||||
|
||||
|
@ -184,18 +186,19 @@ async def login(request: Request, provider: str) -> RedirectResponse:
|
|||
@app.get("/auth/{provider}")
|
||||
async def auth(request: Request, provider: str) -> RedirectResponse:
|
||||
try:
|
||||
token = await getattr(authlib_oauth, provider).authorize_access_token(request)
|
||||
|
||||
provider_ = getattr(authlib_oauth, provider)
|
||||
except AttributeError:
|
||||
raise HTTPException(500, "")
|
||||
try:
|
||||
token = await provider_.authorize_access_token(request)
|
||||
except OAuthError as error:
|
||||
return HTMLResponse(f"<h1>{error.error}</h1>")
|
||||
|
||||
raise HTTPException(status_code=401, detail=error.error)
|
||||
user = token.get("userinfo")
|
||||
|
||||
if user:
|
||||
request.session["user"] = dict(user)
|
||||
return RedirectResponse(url=request.session.pop("next", "/"))
|
||||
|
||||
return RedirectResponse(url="/login")
|
||||
return RedirectResponse(url="/")
|
||||
else:
|
||||
return RedirectResponse(url="/login")
|
||||
|
||||
|
||||
@app.get("/logout")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue