forked from open-webui/open-webui
refac: use dependencies to verify token
- feat: added new util to get the current user when needed. Middleware was adding authentication logic to all the routes. let's revisit if we can move the non-auth endpoints to a separate route. - refac: update the routes to use new helpers for verification and retrieving user - chore: added black for local formatting of py code
This commit is contained in:
parent
a01b112f7f
commit
bdd153d8f5
10 changed files with 167 additions and 251 deletions
|
@ -1,9 +1,10 @@
|
|||
from fastapi import FastAPI
|
||||
from fastapi import FastAPI, Depends
|
||||
from fastapi.routing import APIRoute
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from starlette.middleware.authentication import AuthenticationMiddleware
|
||||
from apps.web.routers import auths, users, chats, modelfiles, utils
|
||||
from config import WEBUI_VERSION, WEBUI_AUTH
|
||||
from apps.web.middlewares.auth import BearerTokenAuthBackend, on_auth_error
|
||||
from utils.utils import verify_auth_token
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
|
@ -17,14 +18,26 @@ app.add_middleware(
|
|||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
|
||||
app.include_router(auths.router, prefix="/auths", tags=["auths"])
|
||||
|
||||
app.add_middleware(AuthenticationMiddleware, backend=BearerTokenAuthBackend(), on_error=on_auth_error)
|
||||
|
||||
app.include_router(users.router, prefix="/users", tags=["users"])
|
||||
app.include_router(chats.router, prefix="/chats", tags=["chats"])
|
||||
app.include_router(modelfiles.router, prefix="/modelfiles", tags=["modelfiles"])
|
||||
app.include_router(
|
||||
users.router,
|
||||
prefix="/users",
|
||||
tags=["users"],
|
||||
dependencies=[Depends(verify_auth_token)],
|
||||
)
|
||||
app.include_router(
|
||||
chats.router,
|
||||
prefix="/chats",
|
||||
tags=["chats"],
|
||||
dependencies=[Depends(verify_auth_token)],
|
||||
)
|
||||
app.include_router(
|
||||
modelfiles.router,
|
||||
prefix="/modelfiles",
|
||||
tags=["modelfiles"],
|
||||
dependencies=[Depends(verify_auth_token)],
|
||||
)
|
||||
app.include_router(utils.router, prefix="/utils", tags=["utils"])
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue