forked from all_user/stat_center
35 lines
692 B
Go
35 lines
692 B
Go
package googauth
|
|
|
|
import (
|
|
"github.com/dgryski/dgoogauth"
|
|
)
|
|
|
|
const windowSize = 30
|
|
const htopWindowSize = 5
|
|
|
|
var HotpCfg = dgoogauth.OTPConfig{
|
|
Secret: "MRSHM6LTMFYHAMJSGM2DKNQ=",
|
|
HotpCounter: 1,
|
|
WindowSize: htopWindowSize,
|
|
}
|
|
|
|
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 VerifyHtop(cfg *dgoogauth.OTPConfig, authCode string, counter int) (bool, error) {
|
|
return cfg.Authenticate(authCode)
|
|
}
|