totp (Timed One Time Password) experiment in golang
- GetSecret - returns a SecretID and Secret
- Challenge - Takes SecretID and TOTP, returns OK if TOTP is correct
- Requests SecretID and Secret
- Computes TOTP based on the Secret and Timeblock
- Sends Challenge request to server with SecretID and TOTP
protoc command:
protoc --go_out=. \
--go_opt=paths=source_relative \
--go-grpc_out=. \
--go-grpc_opt=paths=source_relative \
totp/totp.proto
start:
go run server/server.go
go run client/client.go