Skip to content

Commit b946f89

Browse files
committed
GH-22: Add an exception_handler sample in the demo app
1 parent 4993860 commit b946f89

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

examples/demonstration/main.py

+12
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
from fastapi import APIRouter
22
from fastapi import FastAPI
3+
from fastapi import Request
34
from fastapi.staticfiles import StaticFiles
45
from sqlalchemy.orm import Session
6+
from starlette.responses import RedirectResponse
57

68
from config import oauth2_config
79
from database import Base
810
from database import engine
911
from database import get_db
12+
from fastapi_oauth2.exceptions import OAuth2Error
1013
from fastapi_oauth2.middleware import Auth
1114
from fastapi_oauth2.middleware import OAuth2Middleware
1215
from fastapi_oauth2.middleware import User
@@ -37,6 +40,15 @@ async def on_auth(auth: Auth, user: User):
3740

3841

3942
app = FastAPI()
43+
44+
45+
# https://fastapi.tiangolo.com/tutorial/handling-errors/
46+
@app.exception_handler(OAuth2Error)
47+
async def error_handler(request: Request, e: OAuth2Error):
48+
print("An error occurred in OAuth2Middleware", e)
49+
return RedirectResponse(url="/", status_code=303)
50+
51+
4052
app.include_router(router_api)
4153
app.include_router(router_ssr)
4254
app.include_router(oauth2_router)

0 commit comments

Comments
 (0)