diff --git a/internal/auth/repository/eventsourcing/eventstore/auth_request.go b/internal/auth/repository/eventsourcing/eventstore/auth_request.go index 8eca24fd3..a0be3e59c 100644 --- a/internal/auth/repository/eventsourcing/eventstore/auth_request.go +++ b/internal/auth/repository/eventsourcing/eventstore/auth_request.go @@ -172,7 +172,10 @@ func (repo *AuthRequestRepo) CheckExternalUserLogin(ctx context.Context, authReq } err = repo.checkExternalUserLogin(request, externalUser.IDPConfigID, externalUser.ExternalUserID) if errors.IsNotFound(err) { - return repo.setLinkingUser(ctx, request, externalUser) + if err := repo.setLinkingUser(ctx, request, externalUser); err != nil { + return err + } + return err } if err != nil { return err diff --git a/internal/ui/login/handler/external_login_handler.go b/internal/ui/login/handler/external_login_handler.go index d75890d1b..8be633c1c 100644 --- a/internal/ui/login/handler/external_login_handler.go +++ b/internal/ui/login/handler/external_login_handler.go @@ -133,7 +133,10 @@ func (l *Login) handleExternalUserAuthenticated(w http.ResponseWriter, r *http.R externalUser := l.mapTokenToLoginUser(tokens, idpConfig) err := l.authRepo.CheckExternalUserLogin(r.Context(), authReq.ID, userAgentID, externalUser, model.BrowserInfoFromRequest(r)) if err != nil { - l.renderExternalNotFoundOption(w, r, authReq, nil) + if errors.IsNotFound(err) { + err = nil + } + l.renderExternalNotFoundOption(w, r, authReq, err) return } l.renderNextStep(w, r, authReq) diff --git a/internal/user/repository/eventsourcing/user.go b/internal/user/repository/eventsourcing/user.go index e2cb2a1b4..7ee4e30ad 100644 --- a/internal/user/repository/eventsourcing/user.go +++ b/internal/user/repository/eventsourcing/user.go @@ -466,7 +466,7 @@ func PasswordCodeSentAggregate(aggCreator *es_models.AggregateCreator, user *mod func ExternalLoginCheckSucceededAggregate(aggCreator *es_models.AggregateCreator, user *model.User, check *model.AuthRequest) es_sdk.AggregateFunc { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, user) + agg, err := UserAggregateOverwriteContext(ctx, aggCreator, user, user.ResourceOwner, user.AggregateID) if err != nil { return nil, err }