kenken999 commited on
Commit
e17336e
·
1 Parent(s): 0af31f0
Files changed (1) hide show
  1. mysite/asgi.py +16 -9
mysite/asgi.py CHANGED
@@ -58,15 +58,22 @@ app.add_middleware(
58
 
59
  # 認証用ミドルウェア
60
 
61
- @app.middleware("http")
62
- async def auth_middleware(request, call_next):
63
- if request.url.path.startswith("/"):
64
- credentials = HTTPBasicCredentials(username=request.headers.get("authorization").split()[1].split(':')[0],
65
- password=request.headers.get("authorization").split()[1].split(':')[1])
66
- authenticate(credentials)
67
- response = await call_next(request)
68
- return response
69
-
 
 
 
 
 
 
 
70
 
71
  # Gradioインターフェースの設定
72
  gradio_interfaces = setup_gradio_interfaces()
 
58
 
59
  # 認証用ミドルウェア
60
 
61
+ @app.get("/")
62
+ def read_root(credentials: HTTPBasicCredentials = Depends(authenticate)):
63
+ return {"message": f"Hello, {credentials.username}"}
64
+
65
+ # ミドルウェアで認証を追加
66
+ class BasicAuthMiddleware(BaseHTTPMiddleware):
67
+ async def dispatch(self, request, call_next):
68
+ credentials = security(request)
69
+ try:
70
+ authenticate(credentials)
71
+ except HTTPException as exc:
72
+ return JSONResponse(status_code=exc.status_code, content={"detail": exc.detail})
73
+ response = await call_next(request)
74
+ return response
75
+
76
+ app.add_middleware(BasicAuthMiddleware)
77
 
78
  # Gradioインターフェースの設定
79
  gradio_interfaces = setup_gradio_interfaces()