mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-04-28 03:21:12 +00:00
fix: 500 error caused by duplicate email or username
This commit is contained in:
parent
8755ece633
commit
55e8e34226
@ -17,13 +17,16 @@ import time
|
||||
from django.conf import settings
|
||||
from django.contrib import auth
|
||||
from django.core.exceptions import SuspiciousOperation
|
||||
from django.db import IntegrityError
|
||||
from django.http import HttpResponseRedirect, QueryDict
|
||||
from django.urls import reverse
|
||||
from django.utils.crypto import get_random_string
|
||||
from django.utils.http import urlencode
|
||||
from django.views.generic import View
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from authentication.utils import build_absolute_uri_for_oidc
|
||||
from authentication.views.mixins import FlashMessageMixin
|
||||
from common.utils import safe_next_url
|
||||
from .utils import get_logger
|
||||
|
||||
@ -113,7 +116,7 @@ class OIDCAuthRequestView(View):
|
||||
return HttpResponseRedirect(redirect_url)
|
||||
|
||||
|
||||
class OIDCAuthCallbackView(View):
|
||||
class OIDCAuthCallbackView(View, FlashMessageMixin):
|
||||
""" Allows to complete the authentication process.
|
||||
|
||||
This view acts as the main endpoint to complete the authentication process involving the OIDC
|
||||
@ -165,7 +168,13 @@ class OIDCAuthCallbackView(View):
|
||||
next_url = request.session.get('oidc_auth_next_url', None)
|
||||
code_verifier = request.session.get('oidc_auth_code_verifier', None)
|
||||
logger.debug(log_prompt.format('Process authenticate'))
|
||||
user = auth.authenticate(nonce=nonce, request=request, code_verifier=code_verifier)
|
||||
try:
|
||||
user = auth.authenticate(nonce=nonce, request=request, code_verifier=code_verifier)
|
||||
except IntegrityError:
|
||||
title = _("OpenID Error")
|
||||
msg = _('Username or email already exists, Please check')
|
||||
response = self.get_failed_response('/', title, msg)
|
||||
return response
|
||||
if user:
|
||||
logger.debug(log_prompt.format('Login: {}'.format(user)))
|
||||
auth.login(self.request, user)
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-08-30 15:08+0800\n"
|
||||
"POT-Creation-Date: 2024-09-02 10:59+0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -1140,7 +1140,15 @@ msgstr "パスワード変更記録とプッシュ記録を定期的にクリア
|
||||
|
||||
#: accounts/tasks/automation.py:87
|
||||
msgid "Clean change secret and push record period description"
|
||||
msgstr "システムは、変更タスク、実行レコード、資産、アカウントに関連するものを含め、不要な変更シークレット レコードとプッシュ レコードを定期的にクリーンアップします。これらの関連項目のいずれかが削除されると、対応する変更シークレット レコードとプッシュ レコードは無効になります。したがって、整然とした効率的なデータベースを維持するために、システムはデフォルトでこれらの無効なレコードを 180 日ごとに自動的にクリーンアップします。この定期的なクリーンアップ プロセスにより、ストレージ領域が解放され、データ管理のセキュリティと全体的なパフォーマンスが向上します。"
|
||||
msgstr ""
|
||||
"システムは、変更タスク、実行レコード、資産、アカウントに関連するものを含め、"
|
||||
"不要な変更シークレット レコードとプッシュ レコードを定期的にクリーンアップし"
|
||||
"ます。これらの関連項目のいずれかが削除されると、対応する変更シークレット レ"
|
||||
"コードとプッシュ レコードは無効になります。したがって、整然とした効率的なデー"
|
||||
"タベースを維持するために、システムはデフォルトでこれらの無効なレコードを 180 "
|
||||
"日ごとに自動的にクリーンアップします。この定期的なクリーンアップ プロセスによ"
|
||||
"り、ストレージ領域が解放され、データ管理のセキュリティと全体的なパフォーマン"
|
||||
"スが向上します。"
|
||||
|
||||
#: accounts/tasks/backup_account.py:25
|
||||
msgid "Execute account backup plan"
|
||||
@ -2972,6 +2980,14 @@ msgstr ""
|
||||
msgid "Invalid token or cache refreshed."
|
||||
msgstr "無効なトークンまたはキャッシュの更新。"
|
||||
|
||||
#: authentication/backends/oidc/views.py:174
|
||||
msgid "OpenID Error"
|
||||
msgstr "OpenID エラー"
|
||||
|
||||
#: authentication/backends/oidc/views.py:175
|
||||
msgid "Username or email already exists, Please check"
|
||||
msgstr "ユーザー名またはメールアドレスが既に存在しています。ご確認ください"
|
||||
|
||||
#: authentication/backends/passkey/api.py:37
|
||||
msgid "Only register passkey for local user"
|
||||
msgstr "ローカル・ユーザーのみの鍵の登録"
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: JumpServer 0.3.3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-08-30 15:08+0800\n"
|
||||
"POT-Creation-Date: 2024-09-02 10:59+0800\n"
|
||||
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
|
||||
"Last-Translator: ibuler <ibuler@qq.com>\n"
|
||||
"Language-Team: JumpServer team<ibuler@qq.com>\n"
|
||||
@ -1136,7 +1136,12 @@ msgstr "周期清理改密记录和推送记录"
|
||||
|
||||
#: accounts/tasks/automation.py:87
|
||||
msgid "Clean change secret and push record period description"
|
||||
msgstr "系统会定期清理不再需要的改密记录和推送记录,包括那些关联的改密任务、执行记录、资产和账号。当这些关联项中的任意一个被删除时,对应的改密和推送记录将变为无效。因此,为了保持数据库的整洁和高效运行,系统默认每180天自动清理这些无效记录。这种定期清理机制不仅有助于释放存储空间,还能提高数据管理的安全性和整体性能。"
|
||||
msgstr ""
|
||||
"系统会定期清理不再需要的改密记录和推送记录,包括那些关联的改密任务、执行记"
|
||||
"录、资产和账号。当这些关联项中的任意一个被删除时,对应的改密和推送记录将变为"
|
||||
"无效。因此,为了保持数据库的整洁和高效运行,系统默认每180天自动清理这些无效记"
|
||||
"录。这种定期清理机制不仅有助于释放存储空间,还能提高数据管理的安全性和整体性"
|
||||
"能。"
|
||||
|
||||
#: accounts/tasks/backup_account.py:25
|
||||
msgid "Execute account backup plan"
|
||||
@ -2942,6 +2947,14 @@ msgstr "无效的令牌头。符号字符串不应包含无效字符。"
|
||||
msgid "Invalid token or cache refreshed."
|
||||
msgstr "刷新的令牌或缓存无效。"
|
||||
|
||||
#: authentication/backends/oidc/views.py:174
|
||||
msgid "OpenID Error"
|
||||
msgstr "OpenID 错误"
|
||||
|
||||
#: authentication/backends/oidc/views.py:175
|
||||
msgid "Username or email already exists, Please check"
|
||||
msgstr "用户名或者邮箱已经存在,请检查"
|
||||
|
||||
#: authentication/backends/passkey/api.py:37
|
||||
msgid "Only register passkey for local user"
|
||||
msgstr "仅为本地用户注册密钥"
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: JumpServer 0.3.3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-08-30 15:08+0800\n"
|
||||
"POT-Creation-Date: 2024-09-02 10:59+0800\n"
|
||||
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
|
||||
"Last-Translator: ibuler <ibuler@qq.com>\n"
|
||||
"Language-Team: JumpServer team<ibuler@qq.com>\n"
|
||||
@ -1138,7 +1138,11 @@ msgstr "週期清理改密記錄和推送記錄"
|
||||
|
||||
#: accounts/tasks/automation.py:87
|
||||
msgid "Clean change secret and push record period description"
|
||||
msgstr "系統會定期清理不必要的變更密文記錄和推播記錄,包括與變更任務、執行記錄、資產、帳戶相關的記錄。當任何這些關聯項被刪除時,相應的變更秘密和推送記錄將變得無效。因此,為了保持資料庫整潔、高效,系統預設每180天自動清理一次這些無效記錄。這種定期清理過程有助於釋放儲存空間並提高資料管理的安全性和整體效能。"
|
||||
msgstr ""
|
||||
"系統會定期清理不必要的變更密文記錄和推播記錄,包括與變更任務、執行記錄、資"
|
||||
"產、帳戶相關的記錄。當任何這些關聯項被刪除時,相應的變更秘密和推送記錄將變得"
|
||||
"無效。因此,為了保持資料庫整潔、高效,系統預設每180天自動清理一次這些無效記"
|
||||
"錄。這種定期清理過程有助於釋放儲存空間並提高資料管理的安全性和整體效能。"
|
||||
|
||||
#: accounts/tasks/backup_account.py:25
|
||||
msgid "Execute account backup plan"
|
||||
@ -2944,6 +2948,14 @@ msgstr "無效的令牌頭。符號字串不應包含無效字元。"
|
||||
msgid "Invalid token or cache refreshed."
|
||||
msgstr "刷新的令牌或快取無效。"
|
||||
|
||||
#: authentication/backends/oidc/views.py:174
|
||||
msgid "OpenID Error"
|
||||
msgstr "OpenID 錯誤"
|
||||
|
||||
#: authentication/backends/oidc/views.py:175
|
||||
msgid "Username or email already exists, Please check"
|
||||
msgstr "使用者名稱或者電子郵件已經存在,請檢查"
|
||||
|
||||
#: authentication/backends/passkey/api.py:37
|
||||
msgid "Only register passkey for local user"
|
||||
msgstr "僅為本地用戶註冊金鑰"
|
||||
|
Loading…
Reference in New Issue
Block a user