Example #1
0
@router.get("/data/")
def secured_data(*, response: Response, session_token: str = Cookie(None)):
    if session_token not in router.access_tokens:
        raise HTTPException(status_code=403, detail="Unauthorised")
    else:
        return {"message": "Secure content!!!"}


@router.get("/hello", response_class=HTMLResponse)
def hello():
    return f"<h1>Hello! Today date is {start}</h1>"


correct_login = "******"
correct_passwd = "NotSoSecurePa$$"
router.access_token_session = []
router.access_token_token = []


def check_usrnm_passwd(credentials):
    correct_usrnm = secrets.compare_digest(credentials.username, correct_login)
    correct_password = secrets.compare_digest(credentials.password, correct_passwd)
    if not (correct_usrnm and correct_password):
        raise HTTPException(
            status_code=status.HTTP_401_UNAUTHORIZED,
            detail="Unauthorised - incorrect login or password!",
            headers={"WWW-Authenticate": "Basic"},
        )


@router.post("/login_session")