Unverified Commit d49c72b7 authored by David López's avatar David López Committed by GitHub
Browse files

Merge pull request #14345 from mvdbeek/properly_document_auth

[22.05] Include auth in openAPI schema
parents 863f5b18 cac149a7
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -17,16 +17,21 @@ from typing import (
from urllib.parse import urlencode

from fastapi import (
    Cookie,
    Form,
    Header,
    Query,
    Request,
    Response,
    Security,
)
from fastapi.exceptions import RequestValidationError
from fastapi.params import Depends
from fastapi.routing import APIRoute
from fastapi.security import (
    APIKeyCookie,
    APIKeyHeader,
    APIKeyQuery,
)
from fastapi_utils.cbv import cbv
from fastapi_utils.inferring_router import InferringRouter
from pydantic import ValidationError
@@ -67,6 +72,10 @@ from galaxy.work.context import (
    SessionRequestContext,
)

api_key_query = APIKeyQuery(name="key", auto_error=False)
api_key_header = APIKeyHeader(name="x-api-key", auto_error=False)
api_key_cookie = APIKeyCookie(name="galaxysession", auto_error=False)


def get_app() -> StructuredApp:
    return cast(StructuredApp, galaxy_app.app)
@@ -111,7 +120,7 @@ def get_session_manager(app: StructuredApp = DependsOnApp) -> GalaxySessionManag
def get_session(
    session_manager: GalaxySessionManager = Depends(get_session_manager),
    security: IdEncodingHelper = depends(IdEncodingHelper),
    galaxysession: Optional[str] = Cookie(None),
    galaxysession: str = Security(api_key_cookie),
) -> Optional[model.GalaxySession]:
    if galaxysession:
        session_key = security.decode_guid(galaxysession)
@@ -124,8 +133,8 @@ def get_session(
def get_api_user(
    security: IdEncodingHelper = depends(IdEncodingHelper),
    user_manager: UserManager = depends(UserManager),
    key: Optional[str] = Query(None),
    x_api_key: Optional[str] = Header(None),
    key: str = Security(api_key_query),
    x_api_key: str = Security(api_key_header),
    run_as: Optional[EncodedDatabaseIdField] = Header(
        default=None,
        title="Run as User",