Add basic Google Authenticator TOTP client.

This commit is contained in:
Kyle Isom
2013-12-19 00:20:00 -07:00
parent dc04475120
commit 2ee9cae5ba

43
totpc/totpc.go Normal file
View File

@@ -0,0 +1,43 @@
package main
import (
"fmt"
"github.com/gokyle/twofactor"
"io/ioutil"
"time"
)
func main() {
otp := twofactor.GenerateGoogleTOTP()
if otp == nil {
fmt.Println("totpc: failed to generate token")
return
}
qr, err := otp.QR("totpc-demo")
if err != nil {
fmt.Println(err.Error())
return
}
err = ioutil.WriteFile("out.png", qr, 0644)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(otp.OTP())
for {
for {
t := time.Now()
if t.Second() == 0 {
break
} else if t.Second() == 30 {
break
}
<-time.After(1 * time.Second)
}
fmt.Println(otp.OTP())
<-time.After(30 * time.Second)
}
}