Skip to content

fractal_server.app.routes.auth

MODULE DESCRIPTION
current_user

Definition of /auth/current-user/ endpoints

group

Definition of /auth/group/ routes

login

Definition of basic-auth login/logout endpoints.

oauth
register

Definition of /auth/register/ routes.

users

Definition of /auth/users/ routes

viewer_paths
FUNCTION DESCRIPTION
get_api_guest

Require a active&verified user, with a non-null profile_id.

get_api_user

Require a active&verified non-guest user, with a non-null profile_id.

Attributes

Classes

Functions:

get_api_guest(user=Depends(current_user_act_ver)) async

Require a active&verified user, with a non-null profile_id.

Raises 401 if user does not exist or is not active. Raises 403 if user is not verified or has null profile_id.

Source code in fractal_server/app/routes/auth/__init__.py
async def get_api_guest(
    user: UserOAuth = Depends(current_user_act_ver),
) -> UserOAuth:
    """
    Require a active&verified user, with a non-null `profile_id`.

    Raises 401 if user does not exist or is not active.
    Raises 403 if user is not verified or has null `profile_id`.
    """
    if user.profile_id is None:
        raise HTTPException(
            status_code=status.HTTP_403_FORBIDDEN,
            detail=(
                f"Forbidden access ({user.is_verified=} {user.profile_id=})."
            ),
        )
    return user

get_api_user(user=Depends(get_api_guest)) async

Require a active&verified non-guest user, with a non-null profile_id.

Raises 401 if user does not exist or is not active. Raises 403 if user is not verified, is a guest or has null profile_id.

Source code in fractal_server/app/routes/auth/__init__.py
async def get_api_user(
    user: UserOAuth = Depends(get_api_guest),
) -> UserOAuth:
    """
    Require a active&verified non-guest user, with a non-null `profile_id`.

    Raises 401 if user does not exist or is not active.
    Raises 403 if user is not verified, is a guest or has null `profile_id`.
    """
    if user.is_guest:
        raise HTTPException(
            status_code=status.HTTP_403_FORBIDDEN,
            detail="This feature is not available for guest users.",
        )
    return user