This package handles reCaptcha (API version 3.0) form submissions in Go.
Install the package in your environment:
go get github.com/r7com/go-recaptcha-v3
To use it within your own code, import github.com/r7com/go-recaptcha-v3 and call:
recaptcha.Init(recaptchaPrivateKey, recaptchaScore)
once, to set the reCaptcha private key for your domain, then:
recaptcha.Confirm(recaptchaResponse)
for each reCaptcha form input you need to check, using the values obtained by reading the form's POST parameters (the recaptchaResponse in the above corresponds to the value of g-recaptcha-response sent by the reCaptcha server.)
The recaptcha.Confirm() function returns true if the captcha was completed correctly and the score was equal or above the value passed in reCaptcha.Init() or false if the captcha had an invalid token or the score failed, along with any errors (from the HTTP io read or the attempt to unmarshal the JSON reply).
Included with this repo is example.go, a simple HTTP server which creates the reCaptcha form and tests the input.
See the instructions for running the example for more details.
This project was forked from dpapathanasiou github repository and modified to reCaptcha V3 requests.