|
|
@@ -240,7 +240,10 @@ func findOrCreateOAuthUser(c *gin.Context, provider oauth.Provider, oauthUser *o
|
|
|
|
|
|
if oauthUser.Username != "" {
|
|
|
if exists, err := model.CheckUserExistOrDeleted(oauthUser.Username, ""); err == nil && !exists {
|
|
|
- user.Username = oauthUser.Username
|
|
|
+ // 防止索引退化
|
|
|
+ if len(oauthUser.Username) <= model.UserNameMaxLength {
|
|
|
+ user.Username = oauthUser.Username
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -302,12 +305,12 @@ func findOrCreateOAuthUser(c *gin.Context, provider oauth.Provider, oauthUser *o
|
|
|
// Set the provider user ID on the user model and update
|
|
|
provider.SetProviderUserID(user, oauthUser.ProviderUserID)
|
|
|
if err := tx.Model(user).Updates(map[string]interface{}{
|
|
|
- "github_id": user.GitHubId,
|
|
|
- "discord_id": user.DiscordId,
|
|
|
- "oidc_id": user.OidcId,
|
|
|
- "linux_do_id": user.LinuxDOId,
|
|
|
- "wechat_id": user.WeChatId,
|
|
|
- "telegram_id": user.TelegramId,
|
|
|
+ "github_id": user.GitHubId,
|
|
|
+ "discord_id": user.DiscordId,
|
|
|
+ "oidc_id": user.OidcId,
|
|
|
+ "linux_do_id": user.LinuxDOId,
|
|
|
+ "wechat_id": user.WeChatId,
|
|
|
+ "telegram_id": user.TelegramId,
|
|
|
}).Error; err != nil {
|
|
|
return err
|
|
|
}
|