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.
This commit is contained in:
		
							parent
							
								
									6b712465a8
								
							
						
					
					
						commit
						1713beb73b
					
				| 
						 | 
				
			
			@ -6,6 +6,7 @@
 | 
			
		|||
package auth
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
| 
						 | 
				
			
			@ -24,6 +25,7 @@ import (
 | 
			
		|||
	"code.gitea.io/gitea/modules/session"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
	"code.gitea.io/gitea/modules/timeutil"
 | 
			
		||||
	"code.gitea.io/gitea/modules/util"
 | 
			
		||||
	"code.gitea.io/gitea/modules/web"
 | 
			
		||||
	"code.gitea.io/gitea/modules/web/middleware"
 | 
			
		||||
	"code.gitea.io/gitea/routers/utils"
 | 
			
		||||
| 
						 | 
				
			
			@ -619,9 +621,11 @@ func handleUserCreated(ctx *context.Context, u *user_model.User, gothUser *goth.
 | 
			
		|||
	// update external user information
 | 
			
		||||
	if gothUser != nil {
 | 
			
		||||
		if err := externalaccount.UpdateExternalUser(u, *gothUser); err != nil {
 | 
			
		||||
			if !errors.Is(err, util.ErrNotExist) {
 | 
			
		||||
				log.Error("UpdateExternalUser failed: %v", err)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Send confirmation email
 | 
			
		||||
	if !u.IsActive && u.ID > 1 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1068,8 +1068,10 @@ func handleOAuth2SignIn(ctx *context.Context, source *auth.Source, u *user_model
 | 
			
		|||
 | 
			
		||||
		// update external user information
 | 
			
		||||
		if err := externalaccount.UpdateExternalUser(u, gothUser); err != nil {
 | 
			
		||||
			if !errors.Is(err, util.ErrNotExist) {
 | 
			
		||||
				log.Error("UpdateExternalUser failed: %v", err)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if err := resetLocale(ctx, u); err != nil {
 | 
			
		||||
			ctx.ServerError("resetLocale", err)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue