🐛 Unsubscribe the stream after used the stream to validate code

This commit is contained in:
LittleSheep 2025-01-27 16:31:15 +08:00
parent e4ba72725e
commit 0dbc30d53c
2 changed files with 3 additions and 4 deletions

View File

@ -25,7 +25,7 @@ var (
)
const (
FactorOtpPrefix = "passport.otp."
FactorOtpPrefix = "otp."
)
func InitializeToNexus() error {
@ -70,7 +70,7 @@ func InitializeToNexus() error {
jetstreamCfg := &nats.StreamConfig{
Name: "OTPs",
Subjects: []string{FactorOtpPrefix + ">"},
Subjects: []string{fmt.Sprintf("%s>", FactorOtpPrefix)},
Storage: nats.MemoryStorage,
MaxAge: 30 * time.Minute,
}

View File

@ -124,8 +124,7 @@ func CheckFactor(factor models.AuthFactor, code string) error {
log.Error().Err(err).Msg("Error subscribing to subject when validating factor code...")
return fmt.Errorf("error subscribing to subject: %v", err)
}
// ChatGPT said the subscription will be reused, so we don't need to unsubscribe
// defer sub.Unsubscribe()
defer sub.Unsubscribe()
msgs, err := sub.Fetch(1, nats.MaxWait(3*time.Second))
if err != nil {