Compare commits

...

13 Commits

Author SHA1 Message Date
6c51c7469b Merge pull request 'add persist token' (#56) from feature/persist-token into master
Reviewed-on: #56
2025-03-06 21:46:00 +00:00
952b0211ba add persist token 2025-03-06 22:42:26 +01:00
ece35338da Merge pull request 'rollback' (#55) from feature/oauth into master
Reviewed-on: #55
2025-03-06 21:01:56 +00:00
221bd1e244 rollback 2025-03-06 22:00:52 +01:00
de60dee3eb Merge pull request 'feature/oauth' (#54) from feature/oauth into master
Reviewed-on: #54
2025-03-01 20:49:13 +00:00
4669774cc3 add env facebook 2025-03-01 21:45:10 +01:00
a094b56d44 add google client id 2025-03-01 14:02:11 +01:00
3e514acb19 add oauth wip 2025-02-24 20:45:52 +01:00
a34ba04f78 Merge pull request 'fix password update' (#53) from feature/passwordForgot into master
Reviewed-on: #53
2025-02-15 11:09:12 +00:00
9ed5a41d32 Merge pull request 'feature/passwordForgot' (#52) from feature/passwordForgot into master
Reviewed-on: #52
2025-02-15 10:59:06 +00:00
e9c558abe1 Merge pull request 'remove decode' (#51) from feature/passwordForgot into master
Reviewed-on: #51
2025-02-15 10:07:56 +00:00
5304cccb0f Merge pull request 'change address' (#50) from feature/passwordForgot into master
Reviewed-on: #50
2025-02-14 22:52:38 +00:00
4a38d795fc Merge pull request 'feature/passwordForgot' (#49) from feature/passwordForgot into master
Reviewed-on: #49
2025-02-14 20:06:44 +00:00
2 changed files with 13 additions and 1 deletions

View File

@@ -12,11 +12,20 @@ from ..dependencies import database, cookie
SECRET_KEY = "09d25e094faa6ca2556c818166b7a9563b93f7099f6f0f4caa6cf63b88e8d3e7"
ALGORITHM = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES = 30
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
oauth2_scheme = cookie.OAuth2PasswordBearerWithCookie(tokenUrl="token")
def create_access_token(data: dict, expires_delta: timedelta | None = None):
to_encode = data.copy()
expire = datetime.utcnow() + (expires_delta or 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_password(plain_password, hashed_password):
return pwd_context.verify(plain_password, hashed_password)

View File

@@ -15,13 +15,16 @@ ACCESS_TOKEN_EXPIRE_MINUTES = 30
async def login_for_access_token(
form_data: Annotated[OAuth2PasswordRequestForm, Depends()]):
user = users_token.authenticate_user(form_data.username, form_data.password)
expires_access_token_time = ACCESS_TOKEN_EXPIRE_MINUTES
if form_data.remember_me:
expires_access_token_time=120
if not user:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Incorrect username or password",
headers={"WWW-Authenticate": "Bearer"},
)
access_token_expires = timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
access_token_expires = timedelta(minutes=expires_access_token_time)
access_token = users_token.create_access_token(
data={"sub": user.username}, expires_delta=access_token_expires
)