Merge pull request #1496 from Bliod-Cook/feat-linuxdo-minumum-trust-level
feat: allow admin to restrict the minimum linuxdo trust level to register
This commit is contained in:
@@ -83,6 +83,7 @@ var GitHubClientId = ""
|
|||||||
var GitHubClientSecret = ""
|
var GitHubClientSecret = ""
|
||||||
var LinuxDOClientId = ""
|
var LinuxDOClientId = ""
|
||||||
var LinuxDOClientSecret = ""
|
var LinuxDOClientSecret = ""
|
||||||
|
var LinuxDOMinimumTrustLevel = 0
|
||||||
|
|
||||||
var WeChatServerAddress = ""
|
var WeChatServerAddress = ""
|
||||||
var WeChatServerToken = ""
|
var WeChatServerToken = ""
|
||||||
|
|||||||
@@ -220,6 +220,7 @@ func LinuxdoOAuth(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if common.RegisterEnabled {
|
if common.RegisterEnabled {
|
||||||
|
if linuxdoUser.TrustLevel >= common.LinuxDOMinimumTrustLevel {
|
||||||
user.Username = "linuxdo_" + strconv.Itoa(model.GetMaxUserId()+1)
|
user.Username = "linuxdo_" + strconv.Itoa(model.GetMaxUserId()+1)
|
||||||
user.DisplayName = linuxdoUser.Name
|
user.DisplayName = linuxdoUser.Name
|
||||||
user.Role = common.RoleCommonUser
|
user.Role = common.RoleCommonUser
|
||||||
@@ -238,6 +239,13 @@ func LinuxdoOAuth(c *gin.Context) {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"success": false,
|
||||||
|
"message": "Linux DO 信任等级未达到管理员设置的最低信任等级",
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
c.JSON(http.StatusOK, gin.H{
|
c.JSON(http.StatusOK, gin.H{
|
||||||
"success": false,
|
"success": false,
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ func GetStatus(c *gin.Context) {
|
|||||||
"github_client_id": common.GitHubClientId,
|
"github_client_id": common.GitHubClientId,
|
||||||
"linuxdo_oauth": common.LinuxDOOAuthEnabled,
|
"linuxdo_oauth": common.LinuxDOOAuthEnabled,
|
||||||
"linuxdo_client_id": common.LinuxDOClientId,
|
"linuxdo_client_id": common.LinuxDOClientId,
|
||||||
|
"linuxdo_minimum_trust_level": common.LinuxDOMinimumTrustLevel,
|
||||||
"telegram_oauth": common.TelegramOAuthEnabled,
|
"telegram_oauth": common.TelegramOAuthEnabled,
|
||||||
"telegram_bot_name": common.TelegramBotName,
|
"telegram_bot_name": common.TelegramBotName,
|
||||||
"system_name": common.SystemName,
|
"system_name": common.SystemName,
|
||||||
|
|||||||
@@ -336,6 +336,8 @@ func updateOptionMap(key string, value string) (err error) {
|
|||||||
common.LinuxDOClientId = value
|
common.LinuxDOClientId = value
|
||||||
case "LinuxDOClientSecret":
|
case "LinuxDOClientSecret":
|
||||||
common.LinuxDOClientSecret = value
|
common.LinuxDOClientSecret = value
|
||||||
|
case "LinuxDOMinimumTrustLevel":
|
||||||
|
common.LinuxDOMinimumTrustLevel, _ = strconv.Atoi(value)
|
||||||
case "Footer":
|
case "Footer":
|
||||||
common.Footer = value
|
common.Footer = value
|
||||||
case "SystemName":
|
case "SystemName":
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ const SystemSetting = () => {
|
|||||||
LinuxDOOAuthEnabled: '',
|
LinuxDOOAuthEnabled: '',
|
||||||
LinuxDOClientId: '',
|
LinuxDOClientId: '',
|
||||||
LinuxDOClientSecret: '',
|
LinuxDOClientSecret: '',
|
||||||
|
LinuxDOMinimumTrustLevel: '',
|
||||||
ServerAddress: '',
|
ServerAddress: '',
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -472,6 +473,12 @@ const SystemSetting = () => {
|
|||||||
value: inputs.LinuxDOClientSecret,
|
value: inputs.LinuxDOClientSecret,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (originInputs['LinuxDOMinimumTrustLevel'] !== inputs.LinuxDOMinimumTrustLevel) {
|
||||||
|
options.push({
|
||||||
|
key: 'LinuxDOMinimumTrustLevel',
|
||||||
|
value: inputs.LinuxDOMinimumTrustLevel,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (options.length > 0) {
|
if (options.length > 0) {
|
||||||
await updateOptions(options);
|
await updateOptions(options);
|
||||||
@@ -916,14 +923,14 @@ const SystemSetting = () => {
|
|||||||
<Row
|
<Row
|
||||||
gutter={{ xs: 8, sm: 16, md: 24, lg: 24, xl: 24, xxl: 24 }}
|
gutter={{ xs: 8, sm: 16, md: 24, lg: 24, xl: 24, xxl: 24 }}
|
||||||
>
|
>
|
||||||
<Col xs={24} sm={24} md={12} lg={12} xl={12}>
|
<Col xs={24} sm={24} md={10} lg={10} xl={10}>
|
||||||
<Form.Input
|
<Form.Input
|
||||||
field='LinuxDOClientId'
|
field='LinuxDOClientId'
|
||||||
label={t('Linux DO Client ID')}
|
label={t('Linux DO Client ID')}
|
||||||
placeholder={t('输入你注册的 LinuxDO OAuth APP 的 ID')}
|
placeholder={t('输入你注册的 LinuxDO OAuth APP 的 ID')}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col xs={24} sm={24} md={12} lg={12} xl={12}>
|
<Col xs={24} sm={24} md={10} lg={10} xl={10}>
|
||||||
<Form.Input
|
<Form.Input
|
||||||
field='LinuxDOClientSecret'
|
field='LinuxDOClientSecret'
|
||||||
label={t('Linux DO Client Secret')}
|
label={t('Linux DO Client Secret')}
|
||||||
@@ -931,6 +938,13 @@ const SystemSetting = () => {
|
|||||||
placeholder={t('敏感信息不会发送到前端显示')}
|
placeholder={t('敏感信息不会发送到前端显示')}
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
<Col xs={24} sm={24} md={4} lg={4} xl={4}>
|
||||||
|
<Form.Input
|
||||||
|
field='LinuxDOMinimumTrustLevel'
|
||||||
|
label='LinuxDO Minimum Trust Level'
|
||||||
|
placeholder='允许注册的最低信任等级'
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
<Button onClick={submitLinuxDOOAuth}>
|
<Button onClick={submitLinuxDOOAuth}>
|
||||||
{t('保存 Linux DO OAuth 设置')}
|
{t('保存 Linux DO OAuth 设置')}
|
||||||
|
|||||||
Reference in New Issue
Block a user