diff --git a/internal/auth/repository/eventsourcing/eventstore/auth_request.go b/internal/auth/repository/eventsourcing/eventstore/auth_request.go index b532c1c0d8c..11b7aea2278 100644 --- a/internal/auth/repository/eventsourcing/eventstore/auth_request.go +++ b/internal/auth/repository/eventsourcing/eventstore/auth_request.go @@ -317,7 +317,8 @@ func userSessionByIDs(ctx context.Context, provider userSessionViewProvider, eve case es_model.UserPasswordCheckSucceeded, es_model.UserPasswordCheckFailed, es_model.MfaOtpCheckSucceeded, - es_model.MfaOtpCheckFailed: + es_model.MfaOtpCheckFailed, + es_model.SignedOut: eventData, err := view_model.UserSessionFromEvent(event) if err != nil { logging.Log("EVENT-sdgT3").WithError(err).Debug("error getting event data") diff --git a/internal/auth/repository/eventsourcing/handler/token.go b/internal/auth/repository/eventsourcing/handler/token.go index 8bdedf6a761..41ba431198c 100644 --- a/internal/auth/repository/eventsourcing/handler/token.go +++ b/internal/auth/repository/eventsourcing/handler/token.go @@ -61,9 +61,9 @@ func (u *Token) OnError(event *models.Event, err error) error { func agentIDFromSession(event *models.Event) (string, error) { session := make(map[string]interface{}) - if err := json.Unmarshal(event.Data, session); err != nil { + if err := json.Unmarshal(event.Data, &session); err != nil { logging.Log("EVEN-s3bq9").WithError(err).Error("could not unmarshal event data") return "", caos_errs.ThrowInternal(nil, "MODEL-sd325", "could not unmarshal data") } - return session["agentID"].(string), nil + return session["userAgentID"].(string), nil } diff --git a/internal/auth/repository/eventsourcing/handler/user_session.go b/internal/auth/repository/eventsourcing/handler/user_session.go index 1c4e698eae3..1c5b5e350c1 100644 --- a/internal/auth/repository/eventsourcing/handler/user_session.go +++ b/internal/auth/repository/eventsourcing/handler/user_session.go @@ -46,7 +46,8 @@ func (u *UserSession) Process(event *models.Event) (err error) { case es_model.UserPasswordCheckSucceeded, es_model.UserPasswordCheckFailed, es_model.MfaOtpCheckSucceeded, - es_model.MfaOtpCheckFailed: + es_model.MfaOtpCheckFailed, + es_model.SignedOut: eventData, err := view_model.UserSessionFromEvent(event) if err != nil { return err diff --git a/internal/user/repository/eventsourcing/user.go b/internal/user/repository/eventsourcing/user.go index 73b6ad973f7..f276b80ed25 100644 --- a/internal/user/repository/eventsourcing/user.go +++ b/internal/user/repository/eventsourcing/user.go @@ -610,11 +610,11 @@ func MfaOTPRemoveAggregate(aggCreator *es_models.AggregateCreator, existing *mod func SignOutAggregate(aggCreator *es_models.AggregateCreator, existing *model.User, agentID string) func(ctx context.Context) (*es_models.Aggregate, error) { return func(ctx context.Context) (*es_models.Aggregate, error) { - agg, err := UserAggregate(ctx, aggCreator, existing) + agg, err := UserAggregateOverwriteContext(ctx, aggCreator, existing, existing.ResourceOwner, existing.AggregateID) if err != nil { return nil, err } - return agg.AppendEvent(model.SignedOut, map[string]interface{}{"agentID": agentID}) + return agg.AppendEvent(model.SignedOut, map[string]interface{}{"userAgentID": agentID}) } }