20 lines
373 B
Go
20 lines
373 B
Go
package account
|
|
|
|
import "github.com/pquerna/otp/totp"
|
|
|
|
func TOTPGenerate(domain string, email string) (string, error) {
|
|
key, err := totp.Generate(totp.GenerateOpts{
|
|
Issuer: domain,
|
|
AccountName: email,
|
|
})
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return key.Secret(), nil
|
|
}
|
|
|
|
func TOTPValidate(secret string, code string) bool {
|
|
return totp.Validate(code, secret)
|
|
}
|