feat: 针对 discord 登录配置使用新版设置方案

This commit is contained in:
StageDog
2025-11-22 19:06:53 +08:00
parent 87811a0493
commit 2bc991685f
7 changed files with 44 additions and 36 deletions

View File

@@ -39,8 +39,8 @@ func getDiscordUserInfoByCode(code string) (*DiscordUser, error) {
}
values := url.Values{}
values.Set("client_id", common.DiscordClientId)
values.Set("client_secret", common.DiscordClientSecret)
values.Set("client_id", system_setting.GetDiscordSettings().ClientId)
values.Set("client_secret", system_setting.GetDiscordSettings().ClientSecret)
values.Set("code", code)
values.Set("grant_type", "authorization_code")
values.Set("redirect_uri", fmt.Sprintf("%s/oauth/discord", system_setting.ServerAddress))
@@ -114,10 +114,10 @@ func DiscordOAuth(c *gin.Context) {
DiscordBind(c)
return
}
if !common.DiscordOAuthEnabled {
if !system_setting.GetDiscordSettings().Enabled {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": "管理员未开启通过 discord 登录以及注册",
"message": "管理员未开启通过 Discord 登录以及注册",
})
return
}
@@ -179,7 +179,7 @@ func DiscordOAuth(c *gin.Context) {
}
func DiscordBind(c *gin.Context) {
if !common.DiscordOAuthEnabled {
if !system_setting.GetDiscordSettings().Enabled {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": "管理员未开启通过 Discord 登录以及注册",
@@ -204,7 +204,6 @@ func DiscordBind(c *gin.Context) {
}
session := sessions.Default(c)
id := session.Get("id")
// id := c.GetInt("id") // critical bug!
user.Id = id.(int)
err = user.FillUserById()
if err != nil {

View File

@@ -52,8 +52,8 @@ func GetStatus(c *gin.Context) {
"email_verification": common.EmailVerificationEnabled,
"github_oauth": common.GitHubOAuthEnabled,
"github_client_id": common.GitHubClientId,
"discord_oauth": common.DiscordOAuthEnabled,
"discord_client_id": common.DiscordClientId,
"discord_oauth": system_setting.GetDiscordSettings().Enabled,
"discord_client_id": system_setting.GetDiscordSettings().ClientId,
"linuxdo_oauth": common.LinuxDOOAuthEnabled,
"linuxdo_client_id": common.LinuxDOClientId,
"linuxdo_minimum_trust_level": common.LinuxDOMinimumTrustLevel,

View File

@@ -71,8 +71,8 @@ func UpdateOption(c *gin.Context) {
})
return
}
case "DiscordOAuthEnabled":
if option.Value == "true" && common.DiscordClientId == "" {
case "discord.enabled":
if option.Value == "true" && system_setting.GetDiscordSettings().ClientId == "" {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": "无法启用 Discord OAuth请先填入 Discord Client Id 以及 Discord Client Secret",