Пример #1
0
async def share_subject(subject_id: str, token: str):
    security_payload = validate_jwt(token)
    user = get_user(security_payload["sub"])
    if user is None:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
    subject = load_console_subject_by_id(subject_id)
    return {"subject": subject}
async def validate_token(token: str) -> User:
    security_payload = validate_jwt(token)
    user = load_user_by_name(security_payload["sub"])
    if user is None:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)

    return user
async def share_dashboard(dashboard_id: str, token: str):
    security_payload = validate_jwt(token)
    user: User = get_user(security_payload["sub"])
    if user is None:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
    dashboard = load_dashboard_by_id(dashboard_id, user)
    return load_space_list_by_dashboard(dashboard, user)
async def share_dashboard(dashboard_id: str, token: str):
    security_payload = validate_jwt(token)
    user = get_user(security_payload["sub"])
    if user is None:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
    dashboard = load_dashboard_by_id(dashboard_id)

    reports = load_reports_by_ids(list(map(lambda report: report.reportId, dashboard.reports)))

    return {"dashboard": dashboard, "reports": reports}
Пример #5
0
def get_current_user(token: str = Depends(reusable_oauth2)) -> User:
    try:
        payload = validate_jwt(token)

    # token_data = token.TokenPayload(**payload)
    except (jwt.JWTError, ValidationError):
        raise HTTPException(
            status_code=status.HTTP_403_FORBIDDEN,
            detail="Could not validate credentials",
        )
    user = get_user(payload["sub"])
    if not user:
        raise HTTPException(status_code=404, detail="User not found")

    return user
def get_username(scheme, token):
    if scheme.lower() == "bearer":
        try:
            payload = validate_jwt(token)
        except (jwt.JWTError, ValidationError):
            raise HTTPException(
                status_code=status.HTTP_401_UNAUTHORIZED,
                detail="Could not validate credentials",
            )
        return payload["sub"]
    elif scheme.lower() == "pat":
        pat: PersonAccessToken = verifyPAT(token)
        if pat is not None:
            return pat.username
        else:
            raise HTTPException(
                status_code=status.HTTP_401_UNAUTHORIZED,
                detail="Could not validate credentials",
            )