fix rate-limit valid login bug and fix sessions of redis and psql in tests
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from fastapi import APIRouter, Cookie, Depends, Request, Response
|
||||
from fastapi import APIRouter, Cookie, Depends, HTTPException, Request, Response
|
||||
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
|
||||
|
||||
from src.cache.rate_limit import rate_limiter
|
||||
@@ -24,10 +24,15 @@ async def get_access_token(request: Request,
|
||||
response:Response,
|
||||
auth:CurrentUserService=Depends(auth_service),
|
||||
form_data:OAuth2PasswordRequestForm=Depends(),
|
||||
_:None = Depends(rate_limiter.check_rate_limit)
|
||||
)->dict:
|
||||
|
||||
access_token, refresh_token=await auth.login(form_data_email=form_data.username, form_data_password=form_data.password, request=request)
|
||||
client_ip = request.headers.get('x-forwarded-for', '').split(',')[0].strip() or (request.client.host if request.client else 'unknown')
|
||||
|
||||
try:
|
||||
access_token, refresh_token=await auth.login(form_data_email=form_data.username, form_data_password=form_data.password, request=request)
|
||||
except HTTPException:
|
||||
await rate_limiter.rate_limit(client_ip)
|
||||
raise
|
||||
|
||||
response.set_cookie(
|
||||
key="refresh_token",
|
||||
|
||||
Reference in New Issue
Block a user