diff --git a/packages/core/client/src/locale/de-DE.json b/packages/core/client/src/locale/de-DE.json index fe9b43dd49..04844937ab 100644 --- a/packages/core/client/src/locale/de-DE.json +++ b/packages/core/client/src/locale/de-DE.json @@ -889,5 +889,6 @@ "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "Klicken Sie auf das \"UI-Editor\"-Symbol in der oberen rechten Ecke, um den UI-Editor-Modus zu betreten", "Refresh data blocks": "Aktualisieren Sie die Datenblöcke", "Select data blocks to refresh": "Wählen Sie die Datenblöcke aus, die aktualisiert werden sollen.", - "After successful submission, the selected data blocks will be automatically refreshed.": "Nach erfolgreicher Übermittlung werden die ausgewählten Datenblöcke automatisch aktualisiert." + "After successful submission, the selected data blocks will be automatically refreshed.": "Nach erfolgreicher Übermittlung werden die ausgewählten Datenblöcke automatisch aktualisiert.", + "Reset link expiration (minutes)": "Linkablauf zurücksetzen (Minuten)" } diff --git a/packages/core/client/src/locale/en-US.json b/packages/core/client/src/locale/en-US.json index 01eb15ae86..8c9ad621ec 100644 --- a/packages/core/client/src/locale/en-US.json +++ b/packages/core/client/src/locale/en-US.json @@ -893,6 +893,6 @@ "Full permissions": "Full permissions", "Refresh data blocks": "Refresh data blocks", "Select data blocks to refresh": "Select data blocks to refresh", - "After successful submission, the selected data blocks will be automatically refreshed.": "After successful submission, the selected data blocks will be automatically refreshed." - + "After successful submission, the selected data blocks will be automatically refreshed.": "After successful submission, the selected data blocks will be automatically refreshed.", + "Reset link expiration (minutes)": "Reset link expiration (minutes)" } diff --git a/packages/core/client/src/locale/es-ES.json b/packages/core/client/src/locale/es-ES.json index 06e30c4dfa..3931d91dfa 100644 --- a/packages/core/client/src/locale/es-ES.json +++ b/packages/core/client/src/locale/es-ES.json @@ -810,5 +810,6 @@ "Full permissions": "Todos los derechos", "Refresh data blocks": "Actualizar bloques de datos", "Select data blocks to refresh": "Actualizar bloques de datos", - "After successful submission, the selected data blocks will be automatically refreshed.": "Después de enviar correctamente, los bloques de datos seleccionados se actualizarán automáticamente." + "After successful submission, the selected data blocks will be automatically refreshed.": "Después de enviar correctamente, los bloques de datos seleccionados se actualizarán automáticamente.", + "Reset link expiration (minutes)": "Restablecer la expiración del enlace (minutos)" } diff --git a/packages/core/client/src/locale/fr-FR.json b/packages/core/client/src/locale/fr-FR.json index ab2c5fb444..3464478aca 100644 --- a/packages/core/client/src/locale/fr-FR.json +++ b/packages/core/client/src/locale/fr-FR.json @@ -830,5 +830,6 @@ "Full permissions": "Tous les droits", "Refresh data blocks": "Actualiser les blocs de données", "Select data blocks to refresh": "Actualiser les blocs de données", - "After successful submission, the selected data blocks will be automatically refreshed.": "Après une soumission réussie, les blocs de données sélectionnés seront automatiquement actualisés." + "After successful submission, the selected data blocks will be automatically refreshed.": "Après une soumission réussie, les blocs de données sélectionnés seront automatiquement actualisés.", + "Reset link expiration (minutes)": "Réinitialiser l'expiration du lien (minutes)" } diff --git a/packages/core/client/src/locale/it-IT.json b/packages/core/client/src/locale/it-IT.json index d6b0f39bf9..be933f41af 100644 --- a/packages/core/client/src/locale/it-IT.json +++ b/packages/core/client/src/locale/it-IT.json @@ -1088,5 +1088,6 @@ "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "Cliquez sur l'icône \"Éditeur d'interface utilisateur\" dans le coin supérieur droit pour entrer en mode Éditeur d'interface utilisateur", "Refresh data blocks": "Aggiorna blocchi di dati", "Select data blocks to refresh": "Aggiorna blocchi di dati", - "After successful submission, the selected data blocks will be automatically refreshed.": "Dopo una soumission réussie, les blocs de données sélectionnés seront automatiquement actualisés." + "After successful submission, the selected data blocks will be automatically refreshed.": "Dopo una soumission réussie, les blocs de données sélectionnés seront automatiquement actualisés.", + "Reset link expiration (minutes)": "Reimposta scadenza link (minuti)" } diff --git a/packages/core/client/src/locale/ja-JP.json b/packages/core/client/src/locale/ja-JP.json index 1918d9968f..7c6b335270 100644 --- a/packages/core/client/src/locale/ja-JP.json +++ b/packages/core/client/src/locale/ja-JP.json @@ -1048,5 +1048,6 @@ "Full permissions": "すべての権限", "Refresh data blocks": "データブロックを更新", "Select data blocks to refresh": "データブロックを選択して更新", - "After successful submission, the selected data blocks will be automatically refreshed.": "送信後、選択したデータブロックが自動的に更新されます。" + "After successful submission, the selected data blocks will be automatically refreshed.": "送信後、選択したデータブロックが自動的に更新されます。", + "Reset link expiration (minutes)": "リンクの有効期限をリセット (分)" } diff --git a/packages/core/client/src/locale/ko-KR.json b/packages/core/client/src/locale/ko-KR.json index e007ae97f7..5d016e7da7 100644 --- a/packages/core/client/src/locale/ko-KR.json +++ b/packages/core/client/src/locale/ko-KR.json @@ -921,5 +921,6 @@ "Full permissions": "모든 권한", "Refresh data blocks": "데이터 블록 새로 고침", "Select data blocks to refresh": "데이터 블록을 선택하여 새로 고침", - "After successful submission, the selected data blocks will be automatically refreshed.": "전송 후, 선택한 데이터 블록이 자동으로 새로 고쳐집니다." + "After successful submission, the selected data blocks will be automatically refreshed.": "전송 후, 선택한 데이터 블록이 자동으로 새로 고쳐집니다.", + "Reset link expiration (minutes)": "링크 만료 재설정 (분)" } diff --git a/packages/core/client/src/locale/nl-NL.json b/packages/core/client/src/locale/nl-NL.json index 1e58c0bd68..b6bb2374b2 100644 --- a/packages/core/client/src/locale/nl-NL.json +++ b/packages/core/client/src/locale/nl-NL.json @@ -1057,5 +1057,6 @@ "Italic": "Cursief", "Refresh data blocks": "Vernieuw gegevensblokken", "Select data blocks to refresh": "Selecteer gegevensblokken om te vernieuwen", - "After successful submission, the selected data blocks will be automatically refreshed.": "Na succesvolle indiening worden de geselecteerde gegevensblokken automatisch vernieuwd." + "After successful submission, the selected data blocks will be automatically refreshed.": "Na succesvolle indiening worden de geselecteerde gegevensblokken automatisch vernieuwd.", + "Reset link expiration (minutes)": "Reset linkverval (minuten)" } diff --git a/packages/core/client/src/locale/pt-BR.json b/packages/core/client/src/locale/pt-BR.json index cf7a17d36a..6f32dcd136 100644 --- a/packages/core/client/src/locale/pt-BR.json +++ b/packages/core/client/src/locale/pt-BR.json @@ -790,5 +790,6 @@ "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "Cliquez sur l'icône \"Éditeur d'interface utilisateur\" dans le coin supérieur droit pour entrer en mode Éditeur d'interface utilisateur", "Refresh data blocks": "Atualizar blocos de dados", "Select data blocks to refresh": "Selecionar blocos de dados para atualizar", - "After successful submission, the selected data blocks will be automatically refreshed.": "Após a atualização em massa bem sucedida." + "After successful submission, the selected data blocks will be automatically refreshed.": "Após a atualização em massa bem sucedida.", + "Reset link expiration (minutes)": "Redefinir expiração do link (minutos)" } diff --git a/packages/core/client/src/locale/ru-RU.json b/packages/core/client/src/locale/ru-RU.json index a86f02e638..5fc88e7d25 100644 --- a/packages/core/client/src/locale/ru-RU.json +++ b/packages/core/client/src/locale/ru-RU.json @@ -619,5 +619,6 @@ "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "Нажмите на значок \"Редактор пользовательского интерфейса\" в правом верхнем углу, чтобы войти в режим редактора пользовательского интерфейса", "Refresh data blocks": "Обновить блоки данных", "Select data blocks to refresh": "Выберите блоки данных для обновления", - "After successful submission, the selected data blocks will be automatically refreshed.": "После успешной отправки выбранные блоки данных будут автоматически обновлены." + "After successful submission, the selected data blocks will be automatically refreshed.": "После успешной отправки выбранные блоки данных будут автоматически обновлены.", + "Reset link expiration (minutes)": "Сбросить срок действия ссылки (минуты)" } diff --git a/packages/core/client/src/locale/tr-TR.json b/packages/core/client/src/locale/tr-TR.json index 7a8dfc99cb..e43b529404 100644 --- a/packages/core/client/src/locale/tr-TR.json +++ b/packages/core/client/src/locale/tr-TR.json @@ -617,5 +617,6 @@ "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "Kullanıcı arayüzü düzenleyici moduna girmek için sağ üst köşedeki \"Kullanıcı Arayüzü Düzenleyici\" simgesine tıklayın", "Refresh data blocks": "Yenile veri blokları", "Select data blocks to refresh": "Veri bloklarını yenilemek için seçin", - "After successful submission, the selected data blocks will be automatically refreshed.": "Başarılı bir şekilde gönderildikten sonra, seçilen veri blokları otomatik olarak yenilenecektir." + "After successful submission, the selected data blocks will be automatically refreshed.": "Başarılı bir şekilde gönderildikten sonra, seçilen veri blokları otomatik olarak yenilenecektir.", + "Reset link expiration (minutes)": "Bağlantı süresini sıfırla (dakika)" } diff --git a/packages/core/client/src/locale/uk-UA.json b/packages/core/client/src/locale/uk-UA.json index cf54fe03c6..dd46902953 100644 --- a/packages/core/client/src/locale/uk-UA.json +++ b/packages/core/client/src/locale/uk-UA.json @@ -833,5 +833,6 @@ "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "Натисніть на значок \"Редактор користувацького інтерфейсу\" в правому верхньому куті, щоб увійти в режим редактора користувацького інтерфейсу.", "Refresh data blocks": "Оновити дані блоків", "Select data blocks to refresh": "Виберіть блоки даних для оновлення", - "After successful submission, the selected data blocks will be automatically refreshed.": "Після успішної подачі вибрані блоки даних будуть автоматично оновлені." + "After successful submission, the selected data blocks will be automatically refreshed.": "Після успішної подачі вибрані блоки даних будуть автоматично оновлені.", + "Reset link expiration (minutes)": "Скинути термін дії посилання (хвилини)" } diff --git a/packages/core/client/src/locale/zh-CN.json b/packages/core/client/src/locale/zh-CN.json index 35f67a241d..3e82266083 100644 --- a/packages/core/client/src/locale/zh-CN.json +++ b/packages/core/client/src/locale/zh-CN.json @@ -1103,5 +1103,6 @@ "After successful submission, the selected data blocks will be automatically refreshed.": "提交成功后,会自动刷新这里选中的数据区块。", "No pages yet, please configure first": "暂无页面,请先配置", "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "点击右上角的“界面配置”图标,进入界面配置模式", - "After successful submission, the selected data blocks will be automatically refreshed.": "提交成功后,会自动刷新这里选中的数据区块。" + "After successful submission, the selected data blocks will be automatically refreshed.": "提交成功后,会自动刷新这里选中的数据区块。", + "Reset link expiration (minutes)": "重置链接的过期时间(分钟)" } diff --git a/packages/core/client/src/locale/zh-TW.json b/packages/core/client/src/locale/zh-TW.json index 5abc83e35d..1d7c9241d2 100644 --- a/packages/core/client/src/locale/zh-TW.json +++ b/packages/core/client/src/locale/zh-TW.json @@ -924,5 +924,6 @@ "Click the \"UI Editor\" icon in the upper right corner to enter the UI Editor mode": "點擊右上角的 \"介面設定\" 圖示進入介面設定模式", "Refresh data blocks": "刷新數據區塊", "Select data blocks to refresh": "選擇要刷新的數據區塊", - "After successful submission, the selected data blocks will be automatically refreshed.": "提交成功後,選中的數據區塊將自動刷新。" + "After successful submission, the selected data blocks will be automatically refreshed.": "提交成功後,選中的數據區塊將自動刷新。", + "Reset link expiration (minutes)": "重置連結過的期時間(分鐘)" } diff --git a/packages/plugins/@nocobase/plugin-auth/src/client/basic/Options.tsx b/packages/plugins/@nocobase/plugin-auth/src/client/basic/Options.tsx index 7695b3fedc..19814ba52f 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/client/basic/Options.tsx +++ b/packages/plugins/@nocobase/plugin-auth/src/client/basic/Options.tsx @@ -341,6 +341,24 @@ export const Options = () => { }, ], }, + resetTokenExpiresIn: { + type: 'number', + title: '{{t("Reset link expiration (minutes)")}}', + 'x-decorator': 'FormItem', + 'x-component': 'InputNumber', + default: 60, + required: true, + 'x-reactions': [ + { + dependencies: ['.enableResetPassword'], + fulfill: { + state: { + visible: '{{$deps[0]}}', + }, + }, + }, + ], + }, }, }, }, diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/basic-auth.ts b/packages/plugins/@nocobase/plugin-auth/src/server/basic-auth.ts index 42d8fd83f0..3f819b4d4e 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/server/basic-auth.ts +++ b/packages/plugins/@nocobase/plugin-auth/src/server/basic-auth.ts @@ -146,7 +146,7 @@ export class BasicAuth extends BaseAuth { emailContentType: string; emailContentText?: string; emailContentHTML?: string; - resetTokenExpiresIn: string | number; + resetTokenExpiresIn: number; }; } @@ -185,7 +185,7 @@ export class BasicAuth extends BaseAuth { const resetToken = await ctx.app.authManager.jwt.sign({ resetPasswordUserId: user.id, }, { - expiresIn: resetTokenExpiresIn, // 配置的过期时间 + expiresIn: resetTokenExpiresIn * 60, // 配置的过期时间,单位分钟,需要转成秒 }); // 构建重置密码链接