Files
mayfly-go/server/internal/auth/pkg/otp/otp.go
meilin.huang e56788af3e refactor: dbm
2024-12-08 13:04:23 +08:00

26 lines
488 B
Go

package otp
import (
"time"
otp_t "github.com/pquerna/otp"
totp_t "github.com/pquerna/otp/totp"
)
type GenerateOpts totp_t.GenerateOpts
func NewTOTP(opt GenerateOpts) (*otp_t.Key, error) {
return totp_t.Generate(totp_t.GenerateOpts(opt))
}
func Validate(code string, secret string) bool {
if secret == "" {
return true
}
return totp_t.Validate(code, secret)
}
func GenTotpCode(code string, secret string) (string, error) {
return totp_t.GenerateCode(secret, time.Now())
}