|
4 | 4 | from contextlib import asynccontextmanager |
5 | 5 | from typing import Annotated, Any, cast |
6 | 6 |
|
7 | | -from fastapi.security.utils import get_authorization_scheme_param |
8 | 7 | import jwt |
9 | 8 | from fastapi import ( |
10 | 9 | APIRouter, |
|
20 | 19 | from fastapi.datastructures import Address |
21 | 20 | from fastapi.middleware.cors import CORSMiddleware |
22 | 21 | from fastapi.responses import RedirectResponse, StreamingResponse |
23 | | -from fastapi.security import OAuth2AuthorizationCodeBearer |
| 22 | +from fastapi.security.utils import get_authorization_scheme_param |
24 | 23 | from observability_utils.tracing import ( |
25 | 24 | add_span_attributes, |
26 | 25 | get_tracer, |
|
42 | 41 | from blueapi.worker import TrackableTask, WorkerState |
43 | 42 | from blueapi.worker.event import TaskStatusEnum |
44 | 43 |
|
| 44 | +from .authorization import OpaClient, OpaUserClient |
45 | 45 | from .model import ( |
46 | 46 | DeviceModel, |
47 | 47 | DeviceResponse, |
|
58 | 58 | TasksListResponse, |
59 | 59 | WorkerTask, |
60 | 60 | ) |
61 | | -from .authorization import OpaClient, OpaUserClient |
62 | 61 | from .runner import WorkerDispatcher |
63 | 62 |
|
64 | 63 | RUNNER: WorkerDispatcher | None = None |
@@ -181,8 +180,10 @@ def inner(request: Request, access_token: Annotated[str, Depends(bearer_token)]) |
181 | 180 | async def opa( |
182 | 181 | request: Request, token: Annotated[str, Depends(bearer_token)] |
183 | 182 | ) -> OpaUserClient | None: |
184 | | - if client := cast(OpaClient | None, getattr(request.app.state, "authz", None)): |
| 183 | + if client := cast(OpaClient, getattr(request.app.state, "authz", None)): |
185 | 184 | return client.for_token(token) |
| 185 | + return None |
| 186 | + |
186 | 187 |
|
187 | 188 | async def submit_permission( |
188 | 189 | task_request: Annotated[TaskRequest, Body()], |
|
0 commit comments