diff --git a/models/user/user_repository.go b/models/user/user_repository.go index c823aa1c84..24c2482e9d 100644 --- a/models/user/user_repository.go +++ b/models/user/user_repository.go @@ -76,3 +76,8 @@ func FindFederatedUser(ctx context.Context, externalID string, } return user, federatedUser, nil } + +func DeleteFederatedUser(ctx context.Context, userID int64) error { + _, err := db.GetEngine(ctx).Delete(&FederatedUser{UserID: userID}) + return err +} diff --git a/services/user/user.go b/services/user/user.go index f2648db409..9f2728ccb1 100644 --- a/services/user/user.go +++ b/services/user/user.go @@ -208,6 +208,13 @@ func DeleteUser(ctx context.Context, u *user_model.User, purge bool) error { return err } } + + // Delete Federated Users + if setting.Federation.Enabled { + if err := user_model.DeleteFederatedUser(ctx, u.ID); err != nil { + return err + } + } } ctx, committer, err := db.TxContext(ctx)