@nocobase/plugin-auth 2.0.0-alpha.9 → 2.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/externalVersion.js +9 -9
- package/dist/locale/de-DE.json +68 -68
- package/dist/locale/en-US.json +68 -67
- package/dist/locale/es-ES.json +84 -0
- package/dist/locale/fr-FR.json +84 -0
- package/dist/locale/hu-HU.json +84 -0
- package/dist/locale/id-ID.json +84 -0
- package/dist/locale/it-IT.json +73 -72
- package/dist/locale/ja-JP.json +72 -49
- package/dist/locale/ko-KR.json +73 -49
- package/dist/locale/nl-NL.json +71 -54
- package/dist/locale/pt-BR.json +84 -0
- package/dist/locale/ru-RU.json +84 -0
- package/dist/locale/tr-TR.json +84 -0
- package/dist/locale/uk-UA.json +84 -0
- package/dist/locale/vi-VN.json +84 -0
- package/dist/locale/zh-CN.json +68 -67
- package/dist/locale/zh-TW.json +84 -0
- package/dist/node_modules/cron/package.json +1 -1
- package/dist/node_modules/ms/package.json +1 -1
- package/dist/server/token-blacklist.js +3 -1
- package/package.json +5 -2
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"1. Select notification channel": "1. Select notification channel",
|
|
3
|
+
"2. Configure reset email": "2. Configure reset email",
|
|
4
|
+
"Allow to sign in with": "Allow to sign in with",
|
|
5
|
+
"Allow to sign up": "Allow to sign up",
|
|
6
|
+
"At least one of the username or email fields is required": "At least one of the username or email fields is required",
|
|
7
|
+
"Auth Type": "Auth Type",
|
|
8
|
+
"Auth UID": "Auth UID",
|
|
9
|
+
"Authentication": "Authentication",
|
|
10
|
+
"Authenticators": "Authenticators",
|
|
11
|
+
"Back to login": "Back to login",
|
|
12
|
+
"Content type": "Content type",
|
|
13
|
+
"Days": "Days",
|
|
14
|
+
"Email channel not found": "Email channel not found",
|
|
15
|
+
"Enable forget password": "Enable forget password",
|
|
16
|
+
"Expired token refresh limit": "Expired token refresh limit",
|
|
17
|
+
"Forgot password": "Forgot password",
|
|
18
|
+
"Go to login": "Go to login",
|
|
19
|
+
"Hours": "Hours",
|
|
20
|
+
"In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.",
|
|
21
|
+
"Minutes": "Minutes",
|
|
22
|
+
"Missing X-Authenticator in request header": "Missing X-Authenticator in request header",
|
|
23
|
+
"No authentication methods available.": "No authentication methods available.",
|
|
24
|
+
"No notification channels found. Please ": "No notification channels found. Please ",
|
|
25
|
+
"Not a valid cellphone number, please re-enter": "Not a valid cellphone number, please re-enter",
|
|
26
|
+
"Not allowed to reset password": "Not allowed to reset password",
|
|
27
|
+
"Not allowed to sign up": "Not allowed to sign up",
|
|
28
|
+
"Notification channel (Email)": "Notification channel (Email)",
|
|
29
|
+
"Notification manager plugin not found": "Notification manager plugin not found",
|
|
30
|
+
"Password": "Password",
|
|
31
|
+
"Password is not allowed to be changed": "Password is not allowed to be changed",
|
|
32
|
+
"Password reset successful": "Password reset successful",
|
|
33
|
+
"Plain text": "Plain text",
|
|
34
|
+
"Please enter a password": "Please enter a password",
|
|
35
|
+
"Please enter a valid email": "Please enter a valid email",
|
|
36
|
+
"Please enter a valid username": "Please enter a valid username",
|
|
37
|
+
"Please enter new password": "Please enter new password",
|
|
38
|
+
"Please enter the same password again": "Please enter the same password again",
|
|
39
|
+
"Please enter your email": "Please enter your email",
|
|
40
|
+
"Please enter your username or email": "Please enter your username or email",
|
|
41
|
+
"Please keep and enable at least one authenticator": "Please keep and enable at least one authenticator",
|
|
42
|
+
"Reset email sent successfully": "Reset email sent successfully",
|
|
43
|
+
"Reset link expiration (minutes)": "Reset link expiration (minutes)",
|
|
44
|
+
"Reset link has expired": "Reset link has expired",
|
|
45
|
+
"Reset password": "Reset password",
|
|
46
|
+
"Reset password email": "Reset password email",
|
|
47
|
+
"Reset password link": "Reset password link",
|
|
48
|
+
"Saved successfully!": "Saved successfully!",
|
|
49
|
+
"Seconds": "Seconds",
|
|
50
|
+
"Send reset email": "Send reset email",
|
|
51
|
+
"Session validity period": "Session validity period",
|
|
52
|
+
"Show": "Show",
|
|
53
|
+
"Sign in via email": "Sign in via email",
|
|
54
|
+
"Sign in via password": "Sign in via password",
|
|
55
|
+
"Sign up form": "Sign up form",
|
|
56
|
+
"Sign up settings": "Sign up settings",
|
|
57
|
+
"Sign-in": "Sign-in",
|
|
58
|
+
"Subject": "Subject",
|
|
59
|
+
"The authentication allows users to sign in via username or email.": "The authentication allows users to sign in via username or email.",
|
|
60
|
+
"The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.": "The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.",
|
|
61
|
+
"The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.": "The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.",
|
|
62
|
+
"The notification channel used to send the reset password email, only support email channel": "The notification channel used to send the reset password email, only support email channel",
|
|
63
|
+
"The password is inconsistent, please re-enter": "The password is inconsistent, please re-enter",
|
|
64
|
+
"The password is incorrect, please re-enter": "The password is incorrect, please re-enter",
|
|
65
|
+
"The passwords entered twice are inconsistent": "The passwords entered twice are inconsistent",
|
|
66
|
+
"The phone number has been registered, please login directly": "The phone number has been registered, please login directly",
|
|
67
|
+
"The phone number is not registered, please register first": "The phone number is not registered, please register first",
|
|
68
|
+
"The username or email is incorrect, please re-enter": "The username or email is incorrect, please re-enter",
|
|
69
|
+
"The username/email or password is incorrect, please re-enter": "The username/email or password is incorrect, please re-enter",
|
|
70
|
+
"The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)": "The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)",
|
|
71
|
+
"Token expired": "Token expired",
|
|
72
|
+
"Token policy": "Token policy",
|
|
73
|
+
"Token validity period": "Token validity period",
|
|
74
|
+
"Token validity period must be less than session validity period!": "Token validity period must be less than session validity period!",
|
|
75
|
+
"Unauthenticated. Please sign in to continue.": "Unauthenticated. Please sign in to continue.",
|
|
76
|
+
"User not found": "User not found",
|
|
77
|
+
"User not found. Please sign in again to continue.": "User not found. Please sign in again to continue.",
|
|
78
|
+
"Username/Email": "Username/Email",
|
|
79
|
+
"Your session has expired. Please sign in again.": "Your session has expired. Please sign in again.",
|
|
80
|
+
"add one first": "add one first",
|
|
81
|
+
"defaultResetPasswordEmailContentHTML": "<p>Hello {{$user.username}},</p>\n\n<p>We received a request to reset the password for your {{$systemSettings.title}} account.</p>\n\n<p>Please click the link below to set your new password:</p>\n\n<p>\n <a href=\"{{$resetLink}}\">Reset Your Password</a>\n</p>\n\n<p>\n If you did not request a password reset, please ignore this email. Your password will remain unchanged.\n</p>\n\n<p>\n Please note: For your security, this password reset link will expire in <strong>{{$resetLinkExpiration}} minutes</strong>.\n</p>\n\n<p>If you encounter any issues resetting your password, please contact our support team.</p>\n\n<p>\n Thanks,<br>\n The {{$systemSettings.title}} Team\n</p>",
|
|
82
|
+
"defaultResetPasswordEmailContentText": "Hello {{$user.username}},\n\nWe received a request to reset the password for your {{$systemSettings.title}} account.\n\nPlease click the link below to set your new password:\n\n{{$resetLink}}\n\nIf you did not request a password reset, please ignore this email. Your password will remain unchanged.\n\nPlease note: For your security, this password reset link will expire in {{$resetLinkExpiration}} minutes.\n\nIf you encounter any issues resetting your password, please contact our support team.\n\nThanks, The {{$systemSettings.title}} Team",
|
|
83
|
+
"defaultResetPasswordEmailSubject": "Reset your password for {{$systemSettings.title}}"
|
|
84
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"1. Select notification channel": "1. Select notification channel",
|
|
3
|
+
"2. Configure reset email": "2. Configure reset email",
|
|
4
|
+
"Allow to sign in with": "Allow to sign in with",
|
|
5
|
+
"Allow to sign up": "Allow to sign up",
|
|
6
|
+
"At least one of the username or email fields is required": "At least one of the username or email fields is required",
|
|
7
|
+
"Auth Type": "Auth Type",
|
|
8
|
+
"Auth UID": "Auth UID",
|
|
9
|
+
"Authentication": "Authentication",
|
|
10
|
+
"Authenticators": "Authenticators",
|
|
11
|
+
"Back to login": "Back to login",
|
|
12
|
+
"Content type": "Content type",
|
|
13
|
+
"Days": "Days",
|
|
14
|
+
"Email channel not found": "Email channel not found",
|
|
15
|
+
"Enable forget password": "Enable forget password",
|
|
16
|
+
"Expired token refresh limit": "Expired token refresh limit",
|
|
17
|
+
"Forgot password": "Forgot password",
|
|
18
|
+
"Go to login": "Go to login",
|
|
19
|
+
"Hours": "Hours",
|
|
20
|
+
"In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.",
|
|
21
|
+
"Minutes": "Minutes",
|
|
22
|
+
"Missing X-Authenticator in request header": "Missing X-Authenticator in request header",
|
|
23
|
+
"No authentication methods available.": "No authentication methods available.",
|
|
24
|
+
"No notification channels found. Please ": "No notification channels found. Please ",
|
|
25
|
+
"Not a valid cellphone number, please re-enter": "Not a valid cellphone number, please re-enter",
|
|
26
|
+
"Not allowed to reset password": "Not allowed to reset password",
|
|
27
|
+
"Not allowed to sign up": "Not allowed to sign up",
|
|
28
|
+
"Notification channel (Email)": "Notification channel (Email)",
|
|
29
|
+
"Notification manager plugin not found": "Notification manager plugin not found",
|
|
30
|
+
"Password": "Mật khẩu",
|
|
31
|
+
"Password is not allowed to be changed": "Password is not allowed to be changed",
|
|
32
|
+
"Password reset successful": "Password reset successful",
|
|
33
|
+
"Plain text": "Plain text",
|
|
34
|
+
"Please enter a password": "Please enter a password",
|
|
35
|
+
"Please enter a valid email": "Please enter a valid email",
|
|
36
|
+
"Please enter a valid username": "Please enter a valid username",
|
|
37
|
+
"Please enter new password": "Please enter new password",
|
|
38
|
+
"Please enter the same password again": "Please enter the same password again",
|
|
39
|
+
"Please enter your email": "Please enter your email",
|
|
40
|
+
"Please enter your username or email": "Please enter your username or email",
|
|
41
|
+
"Please keep and enable at least one authenticator": "Please keep and enable at least one authenticator",
|
|
42
|
+
"Reset email sent successfully": "Reset email sent successfully",
|
|
43
|
+
"Reset link expiration (minutes)": "Reset link expiration (minutes)",
|
|
44
|
+
"Reset link has expired": "Reset link has expired",
|
|
45
|
+
"Reset password": "Reset password",
|
|
46
|
+
"Reset password email": "Reset password email",
|
|
47
|
+
"Reset password link": "Reset password link",
|
|
48
|
+
"Saved successfully!": "Saved successfully!",
|
|
49
|
+
"Seconds": "Seconds",
|
|
50
|
+
"Send reset email": "Send reset email",
|
|
51
|
+
"Session validity period": "Session validity period",
|
|
52
|
+
"Show": "Hiển thị",
|
|
53
|
+
"Sign in via email": "Sign in via email",
|
|
54
|
+
"Sign in via password": "Sign in via password",
|
|
55
|
+
"Sign up form": "Sign up form",
|
|
56
|
+
"Sign up settings": "Sign up settings",
|
|
57
|
+
"Sign-in": "Sign-in",
|
|
58
|
+
"Subject": "Subject",
|
|
59
|
+
"The authentication allows users to sign in via username or email.": "The authentication allows users to sign in via username or email.",
|
|
60
|
+
"The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.": "The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.",
|
|
61
|
+
"The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.": "The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.",
|
|
62
|
+
"The notification channel used to send the reset password email, only support email channel": "The notification channel used to send the reset password email, only support email channel",
|
|
63
|
+
"The password is inconsistent, please re-enter": "The password is inconsistent, please re-enter",
|
|
64
|
+
"The password is incorrect, please re-enter": "The password is incorrect, please re-enter",
|
|
65
|
+
"The passwords entered twice are inconsistent": "The passwords entered twice are inconsistent",
|
|
66
|
+
"The phone number has been registered, please login directly": "The phone number has been registered, please login directly",
|
|
67
|
+
"The phone number is not registered, please register first": "The phone number is not registered, please register first",
|
|
68
|
+
"The username or email is incorrect, please re-enter": "The username or email is incorrect, please re-enter",
|
|
69
|
+
"The username/email or password is incorrect, please re-enter": "The username/email or password is incorrect, please re-enter",
|
|
70
|
+
"The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)": "The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)",
|
|
71
|
+
"Token expired": "Token expired",
|
|
72
|
+
"Token policy": "Token policy",
|
|
73
|
+
"Token validity period": "Token validity period",
|
|
74
|
+
"Token validity period must be less than session validity period!": "Token validity period must be less than session validity period!",
|
|
75
|
+
"Unauthenticated. Please sign in to continue.": "Unauthenticated. Please sign in to continue.",
|
|
76
|
+
"User not found": "User not found",
|
|
77
|
+
"User not found. Please sign in again to continue.": "User not found. Please sign in again to continue.",
|
|
78
|
+
"Username/Email": "Username/Email",
|
|
79
|
+
"Your session has expired. Please sign in again.": "Your session has expired. Please sign in again.",
|
|
80
|
+
"add one first": "add one first",
|
|
81
|
+
"defaultResetPasswordEmailContentHTML": "<p>Hello {{$user.username}},</p>\n\n<p>We received a request to reset the password for your {{$systemSettings.title}} account.</p>\n\n<p>Please click the link below to set your new password:</p>\n\n<p>\n <a href=\"{{$resetLink}}\">Reset Your Password</a>\n</p>\n\n<p>\n If you did not request a password reset, please ignore this email. Your password will remain unchanged.\n</p>\n\n<p>\n Please note: For your security, this password reset link will expire in <strong>{{$resetLinkExpiration}} minutes</strong>.\n</p>\n\n<p>If you encounter any issues resetting your password, please contact our support team.</p>\n\n<p>\n Thanks,<br>\n The {{$systemSettings.title}} Team\n</p>",
|
|
82
|
+
"defaultResetPasswordEmailContentText": "Hello {{$user.username}},\n\nWe received a request to reset the password for your {{$systemSettings.title}} account.\n\nPlease click the link below to set your new password:\n\n{{$resetLink}}\n\nIf you did not request a password reset, please ignore this email. Your password will remain unchanged.\n\nPlease note: For your security, this password reset link will expire in {{$resetLinkExpiration}} minutes.\n\nIf you encounter any issues resetting your password, please contact our support team.\n\nThanks, The {{$systemSettings.title}} Team",
|
|
83
|
+
"defaultResetPasswordEmailSubject": "Reset your password for {{$systemSettings.title}}"
|
|
84
|
+
}
|
package/dist/locale/zh-CN.json
CHANGED
|
@@ -1,83 +1,84 @@
|
|
|
1
1
|
{
|
|
2
|
+
"1. Select notification channel": "1. 选择通知渠道",
|
|
3
|
+
"2. Configure reset email": "2. 配置重置邮件",
|
|
4
|
+
"Allow to sign in with": "允许使用以下方式登录",
|
|
5
|
+
"Allow to sign up": "允许注册",
|
|
6
|
+
"At least one of the username or email fields is required": "至少需要设置用户名或邮箱中的一个字段为必填字段",
|
|
2
7
|
"Auth Type": "认证类型",
|
|
3
|
-
"
|
|
8
|
+
"Auth UID": "认证标识",
|
|
4
9
|
"Authentication": "用户认证",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
10
|
+
"Authenticators": "认证器",
|
|
11
|
+
"Back to login": "返回登录",
|
|
12
|
+
"Content type": "内容类型",
|
|
13
|
+
"Days": "天",
|
|
14
|
+
"Email channel not found": "未找到邮件通道",
|
|
15
|
+
"Enable forget password": "启用忘记密码功能",
|
|
16
|
+
"Expired token refresh limit": "过期 Token 刷新时限",
|
|
17
|
+
"Forgot password": "忘记密码",
|
|
18
|
+
"Go to login": "前往登录",
|
|
19
|
+
"Hours": "小时",
|
|
20
|
+
"In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.",
|
|
21
|
+
"Minutes": "分钟",
|
|
22
|
+
"Missing X-Authenticator in request header": "请求头中缺少了 X-Authenticator",
|
|
23
|
+
"No authentication methods available.": "没有可用的认证方式。",
|
|
24
|
+
"No notification channels found. Please ": "未找到通知渠道,请",
|
|
11
25
|
"Not a valid cellphone number, please re-enter": "不是有效的手机号,请重新输入",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
26
|
+
"Not allowed to reset password": "不允许重置密码",
|
|
27
|
+
"Not allowed to sign up": "禁止注册",
|
|
28
|
+
"Notification channel (Email)": "通知渠道(电子邮件)",
|
|
29
|
+
"Notification manager plugin not found": "未找到通知管理插件",
|
|
30
|
+
"Password": "密码",
|
|
31
|
+
"Password is not allowed to be changed": "密码不允许修改",
|
|
32
|
+
"Password reset successful": "密码重置成功",
|
|
33
|
+
"Plain text": "普通文本",
|
|
34
|
+
"Please enter a password": "请输入密码",
|
|
17
35
|
"Please enter a valid email": "请输入有效的邮箱",
|
|
36
|
+
"Please enter a valid username": "请输入有效的用户名",
|
|
37
|
+
"Please enter new password": "请输入新密码",
|
|
38
|
+
"Please enter the same password again": "请再次输入相同的密码",
|
|
39
|
+
"Please enter your email": "请输入您的邮箱",
|
|
18
40
|
"Please enter your username or email": "请输入用户名或邮箱",
|
|
19
|
-
"Please
|
|
20
|
-
"
|
|
21
|
-
"
|
|
41
|
+
"Please keep and enable at least one authenticator": "请至少保留并启用一个认证器",
|
|
42
|
+
"Reset email sent successfully": "重置邮件发送成功",
|
|
43
|
+
"Reset link expiration (minutes)": "重置链接有效期(分钟)",
|
|
44
|
+
"Reset link has expired": "重置链接已过期",
|
|
45
|
+
"Reset password": "重置密码",
|
|
46
|
+
"Reset password email": "重置密码邮件",
|
|
47
|
+
"Reset password link": "重置密码链接",
|
|
48
|
+
"Saved successfully!": "保存成功!",
|
|
49
|
+
"Seconds": "秒",
|
|
50
|
+
"Send reset email": "发送重置邮件",
|
|
51
|
+
"Session validity period": "会话有效期",
|
|
52
|
+
"Show": "显示",
|
|
53
|
+
"Sign in via email": "邮箱登录",
|
|
54
|
+
"Sign in via password": "密码登录",
|
|
55
|
+
"Sign up form": "注册表单",
|
|
56
|
+
"Sign up settings": "注册设置",
|
|
57
|
+
"Sign-in": "登录",
|
|
58
|
+
"Subject": "主题",
|
|
22
59
|
"The authentication allows users to sign in via username or email.": "该认证方式支持用户通过用户名或邮箱登录。",
|
|
23
|
-
"
|
|
60
|
+
"The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.": "Token 过期后允许刷新的最大时限,超过此时限后,Token 无法自动更新,用户需重新登录。",
|
|
61
|
+
"The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.": "用户每次登录的最长有效时间,在会话有效期内,Token 会自动更新,超时后要求用户重新登录。",
|
|
62
|
+
"The notification channel used to send the reset password email, only support email channel": "发送重置密码邮件所使用的通知渠道,仅支持电子邮件通道",
|
|
24
63
|
"The password is inconsistent, please re-enter": "密码不一致,请重新输入",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
64
|
+
"The password is incorrect, please re-enter": "密码有误,请重新输入",
|
|
65
|
+
"The passwords entered twice are inconsistent": "两次输入的密码不一致",
|
|
66
|
+
"The phone number has been registered, please login directly": "手机号已注册,请直接登录",
|
|
67
|
+
"The phone number is not registered, please register first": "手机号未注册,请先注册",
|
|
68
|
+
"The username or email is incorrect, please re-enter": "用户名或邮箱有误,请重新输入",
|
|
27
69
|
"The username/email or password is incorrect, please re-enter": "用户名/邮箱或密码有误,请重新输入",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"Sign up form": "注册表单",
|
|
31
|
-
"At least one of the username or email fields is required": "至少需要设置用户名或邮箱中的一个字段为必填字段",
|
|
32
|
-
"Password is not allowed to be changed": "密码不允许修改",
|
|
70
|
+
"The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)": "每次签发的 API Token 的有效期。Token 过期后,如果处于会话有效期内,并且没有超过刷新时限,服务端将自动签发新 Token 以保持用户会话,否则要求用户重新登录。(每个 Token 只能被刷新一次)",
|
|
71
|
+
"Token expired": "令牌已过期",
|
|
33
72
|
"Token policy": "Token 策略",
|
|
34
73
|
"Token validity period": "Token 有效期",
|
|
35
|
-
"Session validity period": "会话有效期",
|
|
36
|
-
"Expired token refresh limit": "过期 Token 刷新时限",
|
|
37
74
|
"Token validity period must be less than session validity period!": "Token 有效期必须小于会话有效期!",
|
|
38
|
-
"Seconds": "秒",
|
|
39
|
-
"Minutes": "分钟",
|
|
40
|
-
"Hours": "小时",
|
|
41
|
-
"Days": "天",
|
|
42
|
-
"Saved successfully!": "保存成功!",
|
|
43
|
-
"The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.": "用户每次登录的最长有效时间,在会话有效期内,Token 会自动更新,超时后要求用户重新登录。",
|
|
44
|
-
"The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)": "每次签发的 API Token 的有效期。Token 过期后,如果处于会话有效期内,并且没有超过刷新时限,服务端将自动签发新 Token 以保持用户会话,否则要求用户重新登录。(每个 Token 只能被刷新一次)",
|
|
45
|
-
"The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.": "Token 过期后允许刷新的最大时限,超过此时限后,Token 无法自动更新,用户需重新登录。",
|
|
46
|
-
"Your session has expired. Please sign in again.": "您的会话已过期,请重新登录。",
|
|
47
75
|
"Unauthenticated. Please sign in to continue.": "未认证。请登录以继续。",
|
|
48
|
-
"User not found. Please sign in again to continue.": "用户不存在。请重新登录以继续。",
|
|
49
|
-
"Email channel not found": "未找到邮件通道",
|
|
50
|
-
"Notification manager plugin not found": "未找到通知管理插件",
|
|
51
|
-
"Not allowed to reset password": "不允许重置密码",
|
|
52
|
-
"Token expired": "令牌已过期",
|
|
53
76
|
"User not found": "未找到用户",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"Send reset email": "发送重置邮件",
|
|
59
|
-
"Reset link has expired": "重置链接已过期",
|
|
60
|
-
"Go to login": "前往登录",
|
|
61
|
-
"Please enter new password": "请输入新密码",
|
|
62
|
-
"Please enter the same password again": "请再次输入相同的密码",
|
|
63
|
-
"The passwords entered twice are inconsistent": "两次输入的密码不一致",
|
|
64
|
-
"Password reset successful": "密码重置成功",
|
|
65
|
-
"Enable forget password": "启用忘记密码功能",
|
|
66
|
-
"Notification channel (Email)": "通知渠道(电子邮件)",
|
|
67
|
-
"Subject": "主题",
|
|
68
|
-
"Content type": "内容类型",
|
|
69
|
-
"Plain text": "普通文本",
|
|
70
|
-
"defaultResetPasswordEmailSubject": "重置您的 {{$systemSettings.title}} 密码",
|
|
77
|
+
"User not found. Please sign in again to continue.": "用户不存在。请重新登录以继续。",
|
|
78
|
+
"Username/Email": "用户名/邮箱",
|
|
79
|
+
"Your session has expired. Please sign in again.": "您的会话已过期,请重新登录。",
|
|
80
|
+
"add one first": "先添加一个",
|
|
71
81
|
"defaultResetPasswordEmailContentHTML": "<p>您好 {{$user.username}},</p>\n\n<p>我们收到了重置您 {{$systemSettings.title}} 账户密码的请求。</p>\n\n<p>请点击下面的链接设置您的新密码:</p>\n\n<p>\n <a href=\"{{$resetLink}}\">重置您的密码</a>\n</p>\n\n<p>\n 如果您没有请求重置密码,请忽略此邮件。您的密码将保持不变。\n</p>\n\n<p>\n 请注意:为了您的安全,此密码重置链接将在 <strong>{{$resetLinkExpiration}} 分钟</strong>后过期。\n</p>\n\n<p>如果您在重置密码时遇到任何问题,请联系我们的支持团队。</p>\n\n<p>\n 谢谢,<br>\n {{$systemSettings.title}} 团队\n</p>",
|
|
72
82
|
"defaultResetPasswordEmailContentText": "您好 {{$user.username}},\n\n我们收到了重置您 {{$systemSettings.title}} 账户密码的请求。\n\n请点击下面的链接设置您的新密码:\n\n{{$resetLink}}\n\n如果您没有请求重置密码,请忽略此邮件。您的密码将保持不变。\n\n请注意:为了您的安全,此密码重置链接将在 {{$resetLinkExpiration}} 分钟后过期。\n\n如果您在重置密码时遇到任何问题,请联系我们的支持团队。\n\n谢谢,{{$systemSettings.title}} 团队",
|
|
73
|
-
"
|
|
74
|
-
|
|
75
|
-
"Reset password email": "重置密码邮件",
|
|
76
|
-
"1. Select notification channel": "1. 选择通知渠道",
|
|
77
|
-
"2. Configure reset email": "2. 配置重置邮件",
|
|
78
|
-
"The notification channel used to send the reset password email, only support email channel": "发送重置密码邮件所使用的通知渠道,仅支持电子邮件通道",
|
|
79
|
-
"Reset link expiration (minutes)": "重置链接有效期(分钟)",
|
|
80
|
-
"Reset password link": "重置密码链接",
|
|
81
|
-
"Missing X-Authenticator in request header": "请求头中缺少了 X-Authenticator",
|
|
82
|
-
"Reset email sent successfully": "重置邮件发送成功"
|
|
83
|
-
}
|
|
83
|
+
"defaultResetPasswordEmailSubject": "重置您的 {{$systemSettings.title}} 密码"
|
|
84
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"1. Select notification channel": "1. Select notification channel",
|
|
3
|
+
"2. Configure reset email": "2. Configure reset email",
|
|
4
|
+
"Allow to sign in with": "Allow to sign in with",
|
|
5
|
+
"Allow to sign up": "Allow to sign up",
|
|
6
|
+
"At least one of the username or email fields is required": "At least one of the username or email fields is required",
|
|
7
|
+
"Auth Type": "Auth Type",
|
|
8
|
+
"Auth UID": "Auth UID",
|
|
9
|
+
"Authentication": "Authentication",
|
|
10
|
+
"Authenticators": "Authenticators",
|
|
11
|
+
"Back to login": "Back to login",
|
|
12
|
+
"Content type": "Content type",
|
|
13
|
+
"Days": "Days",
|
|
14
|
+
"Email channel not found": "Email channel not found",
|
|
15
|
+
"Enable forget password": "Enable forget password",
|
|
16
|
+
"Expired token refresh limit": "Expired token refresh limit",
|
|
17
|
+
"Forgot password": "Forgot password",
|
|
18
|
+
"Go to login": "Go to login",
|
|
19
|
+
"Hours": "Hours",
|
|
20
|
+
"In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.",
|
|
21
|
+
"Minutes": "Minutes",
|
|
22
|
+
"Missing X-Authenticator in request header": "Missing X-Authenticator in request header",
|
|
23
|
+
"No authentication methods available.": "No authentication methods available.",
|
|
24
|
+
"No notification channels found. Please ": "No notification channels found. Please ",
|
|
25
|
+
"Not a valid cellphone number, please re-enter": "Not a valid cellphone number, please re-enter",
|
|
26
|
+
"Not allowed to reset password": "Not allowed to reset password",
|
|
27
|
+
"Not allowed to sign up": "Not allowed to sign up",
|
|
28
|
+
"Notification channel (Email)": "Notification channel (Email)",
|
|
29
|
+
"Notification manager plugin not found": "Notification manager plugin not found",
|
|
30
|
+
"Password": "Password",
|
|
31
|
+
"Password is not allowed to be changed": "Password is not allowed to be changed",
|
|
32
|
+
"Password reset successful": "Password reset successful",
|
|
33
|
+
"Plain text": "Plain text",
|
|
34
|
+
"Please enter a password": "Please enter a password",
|
|
35
|
+
"Please enter a valid email": "Please enter a valid email",
|
|
36
|
+
"Please enter a valid username": "Please enter a valid username",
|
|
37
|
+
"Please enter new password": "Please enter new password",
|
|
38
|
+
"Please enter the same password again": "Please enter the same password again",
|
|
39
|
+
"Please enter your email": "Please enter your email",
|
|
40
|
+
"Please enter your username or email": "Please enter your username or email",
|
|
41
|
+
"Please keep and enable at least one authenticator": "Please keep and enable at least one authenticator",
|
|
42
|
+
"Reset email sent successfully": "Reset email sent successfully",
|
|
43
|
+
"Reset link expiration (minutes)": "Reset link expiration (minutes)",
|
|
44
|
+
"Reset link has expired": "Reset link has expired",
|
|
45
|
+
"Reset password": "Reset password",
|
|
46
|
+
"Reset password email": "Reset password email",
|
|
47
|
+
"Reset password link": "Reset password link",
|
|
48
|
+
"Saved successfully!": "Saved successfully!",
|
|
49
|
+
"Seconds": "Seconds",
|
|
50
|
+
"Send reset email": "Send reset email",
|
|
51
|
+
"Session validity period": "Session validity period",
|
|
52
|
+
"Show": "Show",
|
|
53
|
+
"Sign in via email": "Sign in via email",
|
|
54
|
+
"Sign in via password": "Sign in via password",
|
|
55
|
+
"Sign up form": "Sign up form",
|
|
56
|
+
"Sign up settings": "Sign up settings",
|
|
57
|
+
"Sign-in": "Sign-in",
|
|
58
|
+
"Subject": "Subject",
|
|
59
|
+
"The authentication allows users to sign in via username or email.": "The authentication allows users to sign in via username or email.",
|
|
60
|
+
"The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.": "The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.",
|
|
61
|
+
"The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.": "The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.",
|
|
62
|
+
"The notification channel used to send the reset password email, only support email channel": "The notification channel used to send the reset password email, only support email channel",
|
|
63
|
+
"The password is inconsistent, please re-enter": "The password is inconsistent, please re-enter",
|
|
64
|
+
"The password is incorrect, please re-enter": "The password is incorrect, please re-enter",
|
|
65
|
+
"The passwords entered twice are inconsistent": "The passwords entered twice are inconsistent",
|
|
66
|
+
"The phone number has been registered, please login directly": "The phone number has been registered, please login directly",
|
|
67
|
+
"The phone number is not registered, please register first": "The phone number is not registered, please register first",
|
|
68
|
+
"The username or email is incorrect, please re-enter": "The username or email is incorrect, please re-enter",
|
|
69
|
+
"The username/email or password is incorrect, please re-enter": "The username/email or password is incorrect, please re-enter",
|
|
70
|
+
"The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)": "The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)",
|
|
71
|
+
"Token expired": "Token expired",
|
|
72
|
+
"Token policy": "Token policy",
|
|
73
|
+
"Token validity period": "Token validity period",
|
|
74
|
+
"Token validity period must be less than session validity period!": "Token validity period must be less than session validity period!",
|
|
75
|
+
"Unauthenticated. Please sign in to continue.": "Unauthenticated. Please sign in to continue.",
|
|
76
|
+
"User not found": "User not found",
|
|
77
|
+
"User not found. Please sign in again to continue.": "User not found. Please sign in again to continue.",
|
|
78
|
+
"Username/Email": "Username/Email",
|
|
79
|
+
"Your session has expired. Please sign in again.": "Your session has expired. Please sign in again.",
|
|
80
|
+
"add one first": "add one first",
|
|
81
|
+
"defaultResetPasswordEmailContentHTML": "<p>Hello {{$user.username}},</p>\n\n<p>We received a request to reset the password for your {{$systemSettings.title}} account.</p>\n\n<p>Please click the link below to set your new password:</p>\n\n<p>\n <a href=\"{{$resetLink}}\">Reset Your Password</a>\n</p>\n\n<p>\n If you did not request a password reset, please ignore this email. Your password will remain unchanged.\n</p>\n\n<p>\n Please note: For your security, this password reset link will expire in <strong>{{$resetLinkExpiration}} minutes</strong>.\n</p>\n\n<p>If you encounter any issues resetting your password, please contact our support team.</p>\n\n<p>\n Thanks,<br>\n The {{$systemSettings.title}} Team\n</p>",
|
|
82
|
+
"defaultResetPasswordEmailContentText": "Hello {{$user.username}},\n\nWe received a request to reset the password for your {{$systemSettings.title}} account.\n\nPlease click the link below to set your new password:\n\n{{$resetLink}}\n\nIf you did not request a password reset, please ignore this email. Your password will remain unchanged.\n\nPlease note: For your security, this password reset link will expire in {{$resetLinkExpiration}} minutes.\n\nIf you encounter any issues resetting your password, please contact our support team.\n\nThanks, The {{$systemSettings.title}} Team",
|
|
83
|
+
"defaultResetPasswordEmailSubject": "Reset your password for {{$systemSettings.title}}"
|
|
84
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"cron","description":"Cron jobs for your node","version":"2.4.4","author":"Nick Campbell <nicholas.j.campbell@gmail.com> (https://github.com/ncb000gt)","bugs":{"url":"https://github.com/kelektiv/node-cron/issues"},"repository":{"type":"git","url":"https://github.com/kelektiv/node-cron.git"},"main":"lib/cron","scripts":{"lint":"eslint {lib,tests}/*.js","test":"jest --coverage","test:watch":"jest --watch --coverage","test:types":"tsd","prepare":"husky install","release":"semantic-release"},"types":"types/index.d.ts","dependencies":{"@types/luxon":"~3.3.0","luxon":"~3.3.0"},"devDependencies":{"@commitlint/cli":"~17.6.6","@insurgentlab/commitlint-config":"^18.1.0","@insurgentlab/conventional-changelog-preset":"~6.0.3","@semantic-release/changelog":"~6.0.x","@semantic-release/commit-analyzer":"~9.0.x","@semantic-release/git":"~10.0.x","@semantic-release/github":"~8.1.x","@semantic-release/npm":"~10.0.x","@semantic-release/release-notes-generator":"~11.0.x","chai":"~4.2.x","eslint":"~8.36.x","eslint-config-prettier":"^8.7.x","eslint-config-standard":"~17.0.x","eslint-plugin-import":"~2.27.x","eslint-plugin-jest":"~27.2.x","eslint-plugin-n":"~15.6.x","eslint-plugin-prettier":"~4.2.x","eslint-plugin-promise":"~6.1.x","husky":"^8.0.3","jest":"~29.5.x","prettier":"~2.8.x","semantic-release":"~21.0.x","sinon":"^15.0.x","tsd":"^0.28.1"},"keywords":["cron","node cron","node-cron","schedule","scheduler","cronjob","cron job"],"license":"MIT","contributors":["Brandon der Blätter <https://interlucid.com/contact/> (https://github.com/intcreator)","Romain Beauxis <toots@rastageeks.org> (https://github.com/toots)","James Padolsey <> (https://github.com/jamespadolsey)","Finn Herpich <fh@three-heads.de> (https://github.com/ErrorProne)","Clifton Cunningham <clifton.cunningham@gmail.com> (https://github.com/cliftonc)","Eric Abouaf <eric.abouaf@gmail.com> (https://github.com/neyric)","humanchimp <morphcham@gmail.com> (https://github.com/humanchimp)","Craig Condon <craig@spiceapps.com> (https://github.com/spiceapps)","Dan Bear <daniel@hulu.com> (https://github.com/danhbear)","Vadim Baryshev <vadimbaryshev@gmail.com> (https://github.com/baryshev)","Leandro Ferrari <lfthomaz@gmail.com> (https://github.com/lfthomaz)","Gregg Zigler <greggzigler@gmail.com> (https://github.com/greggzigler)","Jordan Abderrachid <jabderrachid@gmail.com> (https://github.com/jordanabderrachid)","Masakazu Matsushita <matsukaz@gmail.com> (matsukaz)","Christopher Lunt <me@kirisu.co.uk> (https://github.com/kirisu)"],"jest":{"collectCoverage":true,"collectCoverageFrom":["lib/*.js"],"coverageThreshold":{"global":{"statements":80,"branches":80,"functions":70,"lines":80}}},"files":["lib","types","CHANGELOG.md","LICENSE","README.md"],"_lastModified":"2025-
|
|
1
|
+
{"name":"cron","description":"Cron jobs for your node","version":"2.4.4","author":"Nick Campbell <nicholas.j.campbell@gmail.com> (https://github.com/ncb000gt)","bugs":{"url":"https://github.com/kelektiv/node-cron/issues"},"repository":{"type":"git","url":"https://github.com/kelektiv/node-cron.git"},"main":"lib/cron","scripts":{"lint":"eslint {lib,tests}/*.js","test":"jest --coverage","test:watch":"jest --watch --coverage","test:types":"tsd","prepare":"husky install","release":"semantic-release"},"types":"types/index.d.ts","dependencies":{"@types/luxon":"~3.3.0","luxon":"~3.3.0"},"devDependencies":{"@commitlint/cli":"~17.6.6","@insurgentlab/commitlint-config":"^18.1.0","@insurgentlab/conventional-changelog-preset":"~6.0.3","@semantic-release/changelog":"~6.0.x","@semantic-release/commit-analyzer":"~9.0.x","@semantic-release/git":"~10.0.x","@semantic-release/github":"~8.1.x","@semantic-release/npm":"~10.0.x","@semantic-release/release-notes-generator":"~11.0.x","chai":"~4.2.x","eslint":"~8.36.x","eslint-config-prettier":"^8.7.x","eslint-config-standard":"~17.0.x","eslint-plugin-import":"~2.27.x","eslint-plugin-jest":"~27.2.x","eslint-plugin-n":"~15.6.x","eslint-plugin-prettier":"~4.2.x","eslint-plugin-promise":"~6.1.x","husky":"^8.0.3","jest":"~29.5.x","prettier":"~2.8.x","semantic-release":"~21.0.x","sinon":"^15.0.x","tsd":"^0.28.1"},"keywords":["cron","node cron","node-cron","schedule","scheduler","cronjob","cron job"],"license":"MIT","contributors":["Brandon der Blätter <https://interlucid.com/contact/> (https://github.com/intcreator)","Romain Beauxis <toots@rastageeks.org> (https://github.com/toots)","James Padolsey <> (https://github.com/jamespadolsey)","Finn Herpich <fh@three-heads.de> (https://github.com/ErrorProne)","Clifton Cunningham <clifton.cunningham@gmail.com> (https://github.com/cliftonc)","Eric Abouaf <eric.abouaf@gmail.com> (https://github.com/neyric)","humanchimp <morphcham@gmail.com> (https://github.com/humanchimp)","Craig Condon <craig@spiceapps.com> (https://github.com/spiceapps)","Dan Bear <daniel@hulu.com> (https://github.com/danhbear)","Vadim Baryshev <vadimbaryshev@gmail.com> (https://github.com/baryshev)","Leandro Ferrari <lfthomaz@gmail.com> (https://github.com/lfthomaz)","Gregg Zigler <greggzigler@gmail.com> (https://github.com/greggzigler)","Jordan Abderrachid <jabderrachid@gmail.com> (https://github.com/jordanabderrachid)","Masakazu Matsushita <matsukaz@gmail.com> (matsukaz)","Christopher Lunt <me@kirisu.co.uk> (https://github.com/kirisu)"],"jest":{"collectCoverage":true,"collectCoverageFrom":["lib/*.js"],"coverageThreshold":{"global":{"statements":80,"branches":80,"functions":70,"lines":80}}},"files":["lib","types","CHANGELOG.md","LICENSE","README.md"],"_lastModified":"2025-12-31T16:43:54.782Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"ms","version":"2.1.3","description":"Tiny millisecond conversion utility","repository":"vercel/ms","main":"./index","files":["index.js"],"scripts":{"precommit":"lint-staged","lint":"eslint lib/* bin/*","test":"mocha tests.js"},"eslintConfig":{"extends":"eslint:recommended","env":{"node":true,"es6":true}},"lint-staged":{"*.js":["npm run lint","prettier --single-quote --write","git add"]},"license":"MIT","devDependencies":{"eslint":"4.18.2","expect.js":"0.3.1","husky":"0.14.3","lint-staged":"5.0.0","mocha":"4.0.1","prettier":"2.0.5"},"_lastModified":"2025-
|
|
1
|
+
{"name":"ms","version":"2.1.3","description":"Tiny millisecond conversion utility","repository":"vercel/ms","main":"./index","files":["index.js"],"scripts":{"precommit":"lint-staged","lint":"eslint lib/* bin/*","test":"mocha tests.js"},"eslintConfig":{"extends":"eslint:recommended","env":{"node":true,"es6":true}},"lint-staged":{"*.js":["npm run lint","prettier --single-quote --write","git add"]},"license":"MIT","devDependencies":{"eslint":"4.18.2","expect.js":"0.3.1","husky":"0.14.3","lint-staged":"5.0.0","mocha":"4.0.1","prettier":"2.0.5"},"_lastModified":"2025-12-31T16:43:54.877Z"}
|
|
@@ -35,7 +35,9 @@ class TokenBlacklistService {
|
|
|
35
35
|
this.repo = plugin.db.getRepository("tokenBlacklist");
|
|
36
36
|
plugin.app.on("beforeStart", async () => {
|
|
37
37
|
try {
|
|
38
|
-
this.bloomFilter = await plugin.app.cacheManager.createBloomFilter(
|
|
38
|
+
this.bloomFilter = await plugin.app.cacheManager.createBloomFilter({
|
|
39
|
+
shouldCloneBeforeSet: false
|
|
40
|
+
});
|
|
39
41
|
await this.bloomFilter.reserve(this.cacheKey, 1e-3, 1e6);
|
|
40
42
|
const data = await this.repo.find({
|
|
41
43
|
fields: ["token"],
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-auth",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0-alpha.1",
|
|
4
4
|
"main": "./dist/server/index.js",
|
|
5
5
|
"homepage": "https://docs.nocobase.com/handbook/auth",
|
|
6
|
+
"homepage.ru-RU": "https://docs-ru.nocobase.com/handbook/auth",
|
|
6
7
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth",
|
|
7
8
|
"devDependencies": {
|
|
8
9
|
"@ant-design/icons": "5.x",
|
|
@@ -24,10 +25,12 @@
|
|
|
24
25
|
"@nocobase/test": "2.x"
|
|
25
26
|
},
|
|
26
27
|
"displayName": "Authentication",
|
|
28
|
+
"displayName.ru-RU": "Аутентификация пользователей",
|
|
27
29
|
"displayName.zh-CN": "用户认证",
|
|
28
30
|
"description": "User authentication management, including password, SMS, and support for Single Sign-On (SSO) protocols, with extensibility.",
|
|
31
|
+
"description.ru-RU": "Управление аутентификацией пользователей: пароли, SMS, поддержка протоколов единого входа (SSO) и возможность расширения.",
|
|
29
32
|
"description.zh-CN": "用户认证管理,包括基础的密码认证、短信认证、SSO 协议的认证等,可扩展。",
|
|
30
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "d27baf21569643d6fa83f882233f4e90eb5b89f1",
|
|
31
34
|
"keywords": [
|
|
32
35
|
"Authentication",
|
|
33
36
|
"Security"
|