Sliding session implemented by using jwt interceptor to refresh the token 10 minutes before expiry
This commit is contained in:
@ -1,13 +1,13 @@
|
||||
from datetime import timedelta
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from fastapi import APIRouter, Depends, HTTPException, status, Security
|
||||
from fastapi.security import OAuth2PasswordRequestForm
|
||||
from sqlalchemy.orm import Session
|
||||
from ..core.security import (
|
||||
Token,
|
||||
authenticate_user,
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES,
|
||||
create_access_token, get_user,
|
||||
create_access_token, get_current_active_user,
|
||||
)
|
||||
from ..db.session import SessionLocal
|
||||
from ..schemas.auth import UserToken
|
||||
@ -59,8 +59,7 @@ async def login_for_access_token(
|
||||
|
||||
@router.post("/refresh", response_model=Token)
|
||||
async def refresh_token(
|
||||
db: Session = Depends(get_db),
|
||||
user: UserToken = Depends(get_user)
|
||||
user: UserToken = Security(get_current_active_user)
|
||||
):
|
||||
access_token_expires = timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
|
||||
access_token = create_access_token(
|
||||
|
||||
@ -31,7 +31,6 @@ from brewman.models.voucher import (
|
||||
)
|
||||
from brewman.routers import get_lock_info
|
||||
from brewman.core.session import get_first_day
|
||||
from ..schemas import to_camel
|
||||
from ..schemas.auth import UserToken
|
||||
from ..core.security import get_current_active_user as get_user
|
||||
from ..db.session import SessionLocal
|
||||
|
||||
Reference in New Issue
Block a user