mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-28 19:57:22 +00:00
fix(notify): fail if required fields are empty (#3831)
This commit is contained in:
parent
7e35775681
commit
d1bc4a9bc5
@ -191,6 +191,12 @@ func (n *Notification) handleInitUserCode(event *models.Event) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
if user.Sequence < event.Sequence {
|
||||
if err := n.verifyLatestUser(ctx, user); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
translator, err := n.getTranslatorWithOrgTexts(ctx, user.ResourceOwner, domain.InitCodeMessageType)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -233,6 +239,11 @@ func (n *Notification) handlePasswordCode(event *models.Event) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if user.Sequence < event.Sequence {
|
||||
if err := n.verifyLatestUser(ctx, user); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
translator, err := n.getTranslatorWithOrgTexts(ctx, user.ResourceOwner, domain.PasswordResetMessageType)
|
||||
if err != nil {
|
||||
@ -276,6 +287,11 @@ func (n *Notification) handleEmailVerificationCode(event *models.Event) (err err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if user.Sequence < event.Sequence {
|
||||
if err = n.verifyLatestUser(ctx, user); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
translator, err := n.getTranslatorWithOrgTexts(ctx, user.ResourceOwner, domain.VerifyEmailMessageType)
|
||||
if err != nil {
|
||||
@ -309,6 +325,12 @@ func (n *Notification) handlePhoneVerificationCode(event *models.Event) (err err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if user.Sequence < event.Sequence {
|
||||
if err := n.verifyLatestUser(ctx, user); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
translator, err := n.getTranslatorWithOrgTexts(ctx, user.ResourceOwner, domain.VerifyPhoneMessageType)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -582,3 +604,16 @@ func (n *Notification) origin(ctx context.Context) (string, error) {
|
||||
}
|
||||
return http_utils.BuildHTTP(domains.Domains[0].Domain, n.externalPort, n.externalSecure), nil
|
||||
}
|
||||
|
||||
func (n *Notification) verifyLatestUser(ctx context.Context, user *model.NotifyUser) error {
|
||||
events, err := n.getUserEvents(ctx, user.ID, user.InstanceID, user.Sequence)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, event := range events {
|
||||
if err = user.AppendEvent(event); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ func (u *NotifyUser) ProcessUser(event *es_models.Event) (err error) {
|
||||
user.HumanRegisteredType,
|
||||
user.HumanAddedType,
|
||||
user.MachineAddedEventType:
|
||||
err := notifyUser.AppendEvent(event)
|
||||
err = notifyUser.AppendEvent(event)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user