Skip to content

Commit 1713beb

Browse files
authored
Suppress ExternalLoginUserNotExist error (#21504)
Fixes #21202 Closes #21276 An `ExternalLoginUser` is not mandatory if the current user account was created with/by the external login source.
1 parent 6b71246 commit 1713beb

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

routers/web/auth/auth.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package auth
77

88
import (
9+
"errors"
910
"fmt"
1011
"net/http"
1112
"strings"
@@ -24,6 +25,7 @@ import (
2425
"code.gitea.io/gitea/modules/session"
2526
"code.gitea.io/gitea/modules/setting"
2627
"code.gitea.io/gitea/modules/timeutil"
28+
"code.gitea.io/gitea/modules/util"
2729
"code.gitea.io/gitea/modules/web"
2830
"code.gitea.io/gitea/modules/web/middleware"
2931
"code.gitea.io/gitea/routers/utils"
@@ -619,7 +621,9 @@ func handleUserCreated(ctx *context.Context, u *user_model.User, gothUser *goth.
619621
// update external user information
620622
if gothUser != nil {
621623
if err := externalaccount.UpdateExternalUser(u, *gothUser); err != nil {
622-
log.Error("UpdateExternalUser failed: %v", err)
624+
if !errors.Is(err, util.ErrNotExist) {
625+
log.Error("UpdateExternalUser failed: %v", err)
626+
}
623627
}
624628
}
625629

routers/web/auth/oauth.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -1068,7 +1068,9 @@ func handleOAuth2SignIn(ctx *context.Context, source *auth.Source, u *user_model
10681068

10691069
// update external user information
10701070
if err := externalaccount.UpdateExternalUser(u, gothUser); err != nil {
1071-
log.Error("UpdateExternalUser failed: %v", err)
1071+
if !errors.Is(err, util.ErrNotExist) {
1072+
log.Error("UpdateExternalUser failed: %v", err)
1073+
}
10721074
}
10731075

10741076
if err := resetLocale(ctx, u); err != nil {

0 commit comments

Comments
 (0)