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