// RequestResetPassword generates a reset token and sends an email with the link where to perform the change func RequestResetPassword(emailAddress, passwordResetServiceLink string) error { var user, err = identity.GetUserByEmail(emailAddress) if err != nil { return err } token, err := util.GenerateUUID() if err != nil { return err } user.ResetPasswordToken = token user.ResetPasswordTokenExpireDate = util.NextDateFromNow(passwordResetTokenExpireTime) err = identity.UpdateUser(user) if err != nil { return err } go sendPasswordResetEmail(emailAddress, passwordResetServiceLink, token) return nil }
// ResendAccountActivationEmail resends the email with the details for activating their user account func ResendAccountActivationEmail(emailAddress, activationServiceLink string) error { var user, err = identity.GetUserByEmail(emailAddress) if err != nil { return err } token, err := util.GenerateUUID() if err != nil { return err } user.ActivateAccountToken = token user.ActivateAccountTokenExpireDate = util.NextDateFromNow(accountActivationTokenExpireTime) err = identity.UpdateUser(user) if err != nil { return err } go sendAccountActivationEmail(emailAddress, activationServiceLink, token) return nil }