🐛 Ip address can now be retrieved behind a reverse-proxy

This commit is contained in:
Mawoka
2022-04-15 11:00:22 +02:00
parent bf27803e39
commit 41a65eb456
+8 -1
View File
@@ -80,14 +80,21 @@ async def login_for_cookie_access_token(
status_code=status.HTTP_401_UNAUTHORIZED, status_code=status.HTTP_401_UNAUTHORIZED,
detail="Incorrect username or password", detail="Incorrect username or password",
) )
remote_ip = None
if request.headers.get("X-Forwarded-For") is None:
remote_ip = request.client.host
else:
remote_ip = request.headers.get("X-Forwarded-For")
session_key = os.urandom(32).hex() session_key = os.urandom(32).hex()
user_session = UserSession( user_session = UserSession(
user=user, user=user,
session_key=session_key, session_key=session_key,
ip_address=request.client.host, ip_address=remote_ip,
user_agent=request.headers.get("User-Agent"), user_agent=request.headers.get("User-Agent"),
id=uuid.uuid4(), id=uuid.uuid4(),
) )
print(request.headers)
await user_session.save() await user_session.save()
# await user_session.save() # await user_session.save()
access_token_expires = timedelta(minutes=settings.access_token_expire_minutes) access_token_expires = timedelta(minutes=settings.access_token_expire_minutes)