Fix: admin role for OIDC signup for first user

This commit is contained in:
Sergey Mihaylin 2024-06-28 16:20:34 +03:00
parent 24b638fcde
commit 57c330576d

View File

@ -1944,6 +1944,11 @@ async def oauth_callback(provider: str, request: Request, response: Response):
picture_url = "" picture_url = ""
if not picture_url: if not picture_url:
picture_url = "/user.png" picture_url = "/user.png"
role = (
"admin"
if Users.get_num_users() == 0
else webui_app.state.config.DEFAULT_USER_ROLE
)
user = Auths.insert_new_auth( user = Auths.insert_new_auth(
email=email, email=email,
password=get_password_hash( password=get_password_hash(
@ -1951,7 +1956,7 @@ async def oauth_callback(provider: str, request: Request, response: Response):
), # Random password, not used ), # Random password, not used
name=user_data.get("name", "User"), name=user_data.get("name", "User"),
profile_image_url=picture_url, profile_image_url=picture_url,
role=webui_app.state.config.DEFAULT_USER_ROLE, role=role,
oauth_sub=provider_sub, oauth_sub=provider_sub,
) )