|
|
@ -1,8 +1,6 @@
|
|
|
|
import bson
|
|
|
|
import bson
|
|
|
|
from fastapi import FastAPI, Depends, HTTPException, status
|
|
|
|
from fastapi import FastAPI, Depends, HTTPException, status
|
|
|
|
from fastapi.responses import JSONResponse
|
|
|
|
|
|
|
|
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
|
|
|
|
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
|
|
|
|
from typing import Optional
|
|
|
|
|
|
|
|
from datetime import datetime, timedelta
|
|
|
|
from datetime import datetime, timedelta
|
|
|
|
from joserfc import jwt
|
|
|
|
from joserfc import jwt
|
|
|
|
from joserfc.errors import JoseError
|
|
|
|
from joserfc.errors import JoseError
|
|
|
@ -70,7 +68,7 @@ async def get_current_user(token: str = Depends(oauth2_scheme)) -> User:
|
|
|
|
payload = jwt.decode(token, OctKey.import_key(config.SECRET_KEY))
|
|
|
|
payload = jwt.decode(token, OctKey.import_key(config.SECRET_KEY))
|
|
|
|
username: str = payload.claims["sub"]
|
|
|
|
username: str = payload.claims["sub"]
|
|
|
|
expire_date = payload.claims["exp"]
|
|
|
|
expire_date = payload.claims["exp"]
|
|
|
|
if username is None or int(datetime.now()) > expire_date:
|
|
|
|
if username is None or int(datetime.now().timestamp()) > expire_date:
|
|
|
|
raise credentials_exception
|
|
|
|
raise credentials_exception
|
|
|
|
token_data = TokenData(username=username)
|
|
|
|
token_data = TokenData(username=username)
|
|
|
|
except JoseError:
|
|
|
|
except JoseError:
|
|
|
|