Преглед изворни кода

Feat/optimize login (#9642)

tags/0.10.1
Joe пре 1 година
родитељ
комит
22bdfb7e56
No account linked to committer's email address
2 измењених фајлова са 9 додато и 11 уклоњено
  1. 3
    5
      api/controllers/console/auth/oauth.py
  2. 6
    6
      api/services/account_service.py

+ 3
- 5
api/controllers/console/auth/oauth.py Прегледај датотеку

@@ -94,17 +94,15 @@ class OAuthCallback(Resource):
account = _generate_account(provider, user_info)
except AccountNotFoundError:
return redirect(f"{dify_config.CONSOLE_WEB_URL}/signin?message=Account not found.")
except WorkSpaceNotFoundError:
return redirect(f"{dify_config.CONSOLE_WEB_URL}/signin?message=Workspace not found.")
except WorkSpaceNotAllowedCreateError:
except (WorkSpaceNotFoundError, WorkSpaceNotAllowedCreateError):
return redirect(
f"{dify_config.CONSOLE_WEB_URL}/signin"
"?message=Workspace not found, please contact system admin to invite you to join in a workspace."
)

# Check account status
if account.status in {AccountStatus.BANNED.value, AccountStatus.CLOSED.value}:
return {"error": "Account is banned or closed."}, 403
if account.status == AccountStatus.BANNED.value:
return redirect(f"{dify_config.CONSOLE_WEB_URL}/signin?message=Account is banned.")

if account.status == AccountStatus.PENDING.value:
account.status = AccountStatus.ACTIVE.value

+ 6
- 6
api/services/account_service.py Прегледај датотеку

@@ -98,8 +98,8 @@ class AccountService:
if not account:
return None

if account.status in {AccountStatus.BANNED.value, AccountStatus.CLOSED.value}:
raise Unauthorized("Account is banned or closed.")
if account.status == AccountStatus.BANNED.value:
raise Unauthorized("Account is banned.")

current_tenant = TenantAccountJoin.query.filter_by(account_id=account.id, current=True).first()
if current_tenant:
@@ -143,8 +143,8 @@ class AccountService:
if not account:
raise AccountNotFoundError()

if account.status in {AccountStatus.BANNED.value, AccountStatus.CLOSED.value}:
raise AccountLoginError("Account is banned or closed.")
if account.status == AccountStatus.BANNED.value:
raise AccountLoginError("Account is banned.")

if password and invite_token and account.password is None:
# if invite_token is valid, set password and password_salt
@@ -408,8 +408,8 @@ class AccountService:
if not account:
return None

if account.status in {AccountStatus.BANNED.value, AccountStatus.CLOSED.value}:
raise Unauthorized("Account is banned or closed.")
if account.status == AccountStatus.BANNED.value:
raise Unauthorized("Account is banned.")

return account


Loading…
Откажи
Сачувај