bartender.web.users#

Attributes#

Functions#

current_api_token(], apikey_from_cookie, Depends], ...)

Retrieve API token from header, cookie or query.

get_jwt_decoder(→ bartender.user.JwtDecoder)

Get JWT decoder from app state.

current_user(], jwt_decoder, ...)

Current user based on API token.

Module Contents#

bartender.web.users.header#
bartender.web.users.cookie#
bartender.web.users.query#
bartender.web.users.current_api_token(apikey: Annotated[Optional[fastapi.security.HTTPAuthorizationCredentials], Depends(header)], apikey_from_cookie: Annotated[Optional[str], Depends(cookie)], apikey_from_query: Annotated[Optional[str], Depends(query)]) str#

Retrieve API token from header, cookie or query.

Parameters:
  • apikey (Annotated[Optional[fastapi.security.HTTPAuthorizationCredentials], Depends(header)]) – API key from header

  • apikey_from_cookie (Annotated[Optional[str], Depends(cookie)]) – API key from cookie

  • apikey_from_query (Annotated[Optional[str], Depends(query)]) – API key from query

Raises:

HTTPException – Forbidden 403 response if API key is not found.

Returns:

API key

Return type:

str

bartender.web.users.get_jwt_decoder(request: fastapi.Request) bartender.user.JwtDecoder#

Get JWT decoder from app state.

Parameters:

request (fastapi.Request) – current request.

Raises:

HTTPException – Internal server error 500 if JWT decoder is not setup.

Returns:

JWT decoder object

Return type:

bartender.user.JwtDecoder

bartender.web.users.current_user(apikey: Annotated[str, Depends(current_api_token)], jwt_decoder: Annotated[bartender.user.JwtDecoder, Depends(get_jwt_decoder)]) bartender.user.User#

Current user based on API token.

Parameters:
  • apikey (Annotated[str, Depends(current_api_token)]) – API key

  • jwt_decoder (Annotated[bartender.user.JwtDecoder, Depends(get_jwt_decoder)]) – JWT decoder

Raises:

HTTPException – Unauthorized 401 response if API key is invalid. Or internal server error 500 if JWT decoder is not setup.

Returns:

User

Return type:

bartender.user.User

bartender.web.users.CurrentUser#