diff --git a/src/i18n/langs/cn.json b/src/i18n/langs/cn.json index 914fe7da2..4e9f74cc3 100644 --- a/src/i18n/langs/cn.json +++ b/src/i18n/langs/cn.json @@ -246,6 +246,7 @@ "UserLoginLimit": "用户登录限制", "IPLoginLimit": "IP 登录限制", "Setting": "设置", + "Certificate": "证书", "ViewMore": "查看更多", "Announcement": "公告", "Logging": "日志记录", @@ -903,6 +904,13 @@ "authLdapSearchOu": "用户OU", "authLdapServerUri": "LDAP地址", "authLdapUserAttrMap": "用户属性映射", + "authUserAttrMap": "用户属性映射", + "authUserAttrMapHelpText": "映射关系 {idp:sp}", + "SAML2": "SAML2", + "enableSAML2Auth": "开启 SAML2 认证", + "SAML2Auth": "SAML2 认证", + "authSAML2Xml": "IDP metadata XML", + "authSAML2MetadataUrl": "IDP metadata URL", "authCASAttrMap": "用户属性映射", "SignaturesAndTemplates": "Signatures and Templates", "unselectedUser": "没有选择用户", diff --git a/src/i18n/langs/en.json b/src/i18n/langs/en.json index ab6565590..e58bfb5ef 100644 --- a/src/i18n/langs/en.json +++ b/src/i18n/langs/en.json @@ -240,6 +240,7 @@ "UserLoginLimit": "User login limit", "IPLoginLimit": "IP login limit", "Setting": "Setting", + "Certificate": "Certificate", "ViewMore": "View more", "Announcement": "Announcement", "Logging": "Logging", @@ -881,7 +882,13 @@ "authLdapSearchOu": "User OU", "authLdapServerUri": "LDAP server", "authLdapUserAttrMap": "User attr map", - "authCASAttrMap": "User attr map", + "authUserAttrMap": "User attr map", + "authUserAttrMapHelpText": "Mapping relationship { idp_key: sp_key}", + "SAML2": "SAML2", + "enableSAML2Auth": "Enable SAML2 Auth", + "SAML2Auth": "SAML2 Auth", + "authSAML2Xml": "IDP metadata XML", + "authSAML2MetadataUrl": "IDP metadata URL", "unselectedUser": "Unselected user", "auto": "Auto", "basicSetting": "Basic setting", diff --git a/src/views/settings/Auth/CAS.vue b/src/views/settings/Auth/CAS.vue index 93c6efaea..07c4cd260 100644 --- a/src/views/settings/Auth/CAS.vue +++ b/src/views/settings/Auth/CAS.vue @@ -40,7 +40,7 @@ export default { el: { type: 'textarea' }, - label: this.$t('setting.authCASAttrMap'), + label: this.$t('setting.authUserAttrMap'), rules: [JsonRequired] } }, diff --git a/src/views/settings/Auth/SAML2.vue b/src/views/settings/Auth/SAML2.vue new file mode 100644 index 000000000..da2ade674 --- /dev/null +++ b/src/views/settings/Auth/SAML2.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/src/views/settings/Auth/index.vue b/src/views/settings/Auth/index.vue index 0a3ac995f..fafb0c6a1 100644 --- a/src/views/settings/Auth/index.vue +++ b/src/views/settings/Auth/index.vue @@ -14,6 +14,7 @@ import DingTalk from './DingTalk' import FeiShu from './FeiShu' import WeCom from './WeCom' import SSO from './SSO' +import SAML2 from './SAML2' export default { name: 'Auth', @@ -29,7 +30,7 @@ export default { this.$t('setting.AuthMethod'), [ 'AUTH_CAS', 'AUTH_OPENID', 'AUTH_WECOM', 'AUTH_DINGTALK', 'AUTH_FEISHU', - 'AUTH_RADIUS', 'AUTH_SSO' + 'AUTH_RADIUS', 'AUTH_SSO', 'AUTH_SAML2' ] ], [ @@ -62,6 +63,10 @@ export default { AUTH_SSO: { component: SSO }, + AUTH_SAML2: { + component: SAML2, + label: this.$t('setting.SAML2Auth') + }, FORGOT_PASSWORD_URL: { on: { change([value], updateForm) {