1

I'm trying to do login for users. But LoginManager sets cookie that expires "at the end of session" only and ignores expires parameter. What am I doing wrong?

from fastapi_login import LoginManager

manager = LoginManager(Config.SECRET_KEY, "/user/login", use_cookie=True, default_expiry=timedelta(days=365))
manager.cookie_name = Config.COOKIE_NAME

@router.post("/user/login", name="user_login", response_model=None)
async def user_login(request: Request, email: str = Form(None),
    password: str = Form(None),
    remember_mark: bool = Form(False)) -> [ViewsMain, RedirectResponse]:
    '''
    Recieving user login form.
    '''
    form = FormUserLogin(email=email, password=password,
        remember_mark= True)
    view_data, alert_msg = general_ctl.user_login(form)
    if alert_msg:
        alert_data = alert.danger(alert_msg)
        return views.login(request, view_data=view_data, alert=alert_data)
        
    response = RedirectResponse(url="/customer/dashboard",
            status_code=status.HTTP_302_FOUND)
    expires = timedelta(days=365)
    access_token = manager.create_access_token(
        data={"sub": email}, expires=expires)
    manager.set_cookie(response, access_token)
      
    return response

screenshot of cookie expiration

Oleg
  • 21
  • 3

0 Answers0