33 lines
687 B
Go
33 lines
687 B
Go
package googauth
|
|
|
|
import "github.com/dgryski/dgoogauth"
|
|
|
|
const windowSize = 30
|
|
const hotpWindowSize = 5
|
|
|
|
var HotpCfg = dgoogauth.OTPConfig{
|
|
Secret: "MRSHM6LTMFYHAMJSGM2DKNQ=",
|
|
HotpCounter: 1,
|
|
WindowSize: hotpWindowSize,
|
|
}
|
|
|
|
func New(secret string, name string) string {
|
|
cfg := &dgoogauth.OTPConfig{
|
|
Secret: secret,
|
|
WindowSize: windowSize,
|
|
}
|
|
return cfg.ProvisionURI(name)
|
|
}
|
|
|
|
func Verify(secret string, pwd string) (bool, error) {
|
|
cfg := &dgoogauth.OTPConfig{
|
|
Secret: secret,
|
|
WindowSize: windowSize,
|
|
}
|
|
return cfg.Authenticate(pwd)
|
|
}
|
|
|
|
func VerifyHotp(cfg *dgoogauth.OTPConfig, authCode string, counter int) (bool, error) {
|
|
return cfg.Authenticate(authCode)
|
|
}
|