forked from open-webui/open-webui
Even though "User.email" is enforced as unique at signup, it is not a unique field in the database. Let's use "User.id" instead. This also makes it more difficult to do a session stealing attack.
This commit is contained in:
parent
2c1dacb9b6
commit
8c37edd027
2 changed files with 4 additions and 4 deletions
|
@ -93,7 +93,7 @@ async def update_password(
|
||||||
async def signin(form_data: SigninForm):
|
async def signin(form_data: SigninForm):
|
||||||
user = Auths.authenticate_user(form_data.email.lower(), form_data.password)
|
user = Auths.authenticate_user(form_data.email.lower(), form_data.password)
|
||||||
if user:
|
if user:
|
||||||
token = create_token(data={"email": user.email})
|
token = create_token(data={"id": user.id})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"token": token,
|
"token": token,
|
||||||
|
@ -132,7 +132,7 @@ async def signup(request: Request, form_data: SignupForm):
|
||||||
)
|
)
|
||||||
|
|
||||||
if user:
|
if user:
|
||||||
token = create_token(data={"email": user.email})
|
token = create_token(data={"id": user.id})
|
||||||
# response.set_cookie(key='token', value=token, httponly=True)
|
# response.set_cookie(key='token', value=token, httponly=True)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -60,8 +60,8 @@ def extract_token_from_auth_header(auth_header: str):
|
||||||
|
|
||||||
def get_current_user(auth_token: HTTPAuthorizationCredentials = Depends(HTTPBearer())):
|
def get_current_user(auth_token: HTTPAuthorizationCredentials = Depends(HTTPBearer())):
|
||||||
data = decode_token(auth_token.credentials)
|
data = decode_token(auth_token.credentials)
|
||||||
if data != None and "email" in data:
|
if data != None and "id" in data:
|
||||||
user = Users.get_user_by_email(data["email"])
|
user = Users.get_user_by_id(data["id"])
|
||||||
if user is None:
|
if user is None:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
|
|
Loading…
Reference in a new issue