summaryrefslogtreecommitdiff
path: root/Projekt/app/oauth2.py
diff options
context:
space:
mode:
Diffstat (limited to 'Projekt/app/oauth2.py')
-rw-r--r--Projekt/app/oauth2.py49
1 files changed, 0 insertions, 49 deletions
diff --git a/Projekt/app/oauth2.py b/Projekt/app/oauth2.py
deleted file mode 100644
index f381f97..0000000
--- a/Projekt/app/oauth2.py
+++ /dev/null
@@ -1,49 +0,0 @@
-from fastapi import Depends, status, HTTPException
-from jose import JWTError, jwt
-from datetime import datetime, timedelta
-from sqlalchemy.orm import Session
-from . import schemas, database, models
-from fastapi.security import OAuth2PasswordBearer
-from .config import settings
-
-oaut2_scheme = OAuth2PasswordBearer(tokenUrl="login")
-
-#Secrete_Key
-#Algorütm
-#Säilivusaeg, expiration time
-
-SECRET_KEY = settings.secret_key
-ALGORITHM = settings.algorithm
-ACCESS_TOKEN_EXPIRE_MINUTES = settings.access_token_expire_minutes
-
-def create_access_token(data: dict):
- to_encode = data.copy()
-
- expire = datetime.utcnow() + timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
- to_encode.update( {"exp" : expire} )
-
- encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
- return encoded_jwt
-
-def verify_access_token(token: str, credentials_exception):
-
- try:
- payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM]) #Decodeme tokeni
- id: str = payload.get("user_id") # Ekstraktime tokenist id
- if id is None:
- raise credentials_exception
- token_data = schemas.TokenData(id=id)
- except JWTError:
- raise credentials_exception
-
- return token_data
-
-
-def get_current_user( token: str = Depends(oaut2_scheme), db: Session = Depends(database.get_db)):
- credentials_exception = HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,
- detail=f"Could not validate credentials", headers={"WWW-Authenticate": "Bearer"} )
-
- token = verify_access_token(token, credentials_exception)
- user = db.query(models.User).filter(models.User.id == token.id).first()
-
- return user