We're Hiring!

Approov Integration for Golang Backends

twitter-single-image-tweet-Dec-11-2020-07-09-41-75-PM

Go was developed at Google in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson, but only publicly announced in November 2009. Go is a static typed, compiled and procedural programming language and was designed with the aim of improving developers’ productivity at Google. The language was created to address the criticism of other ones used at Google, such as C++, Python and Javascript, while at same retaining their good characteristics. The primary motivation to create Go was the shared dislike of C++ by the initial authors.

The integration of Approov within a Go API server will ensure that your API can only be accessed by genuine instances of your mobile app. Scripts and bots will be blocked. This is achieved by adding the Approov SDK to your mobile app, and implementing the Approov Token check in your Go code couldn’t be easier because the token is a regular signed JWT. All you need is to use the dgrijalva/jwt-go package to check the expiry time and verify the signature with the secret known only by your Go API server and the Approov cloud service.

To enhance the protection of your Go API further, you can secure each request by using the Approov Token Binding advanced feature of Approov. This allows you to check the binding of a header in the request with the Approov token itself, for example, the user authentication header.

Please follow one of the Quickstart guides in the repo to learn how to integrate Approov into your current Go project.

If you have any questions around why or how to use Approov in your Go project, don’t hesitate to contact us.

Photo by Brett Jordan from Pexels

Paulo Renato

Paulo Renato is known more often than not as paranoid about security. He strongly believes that all software should be secure by default. He thinks security should be always opt-out instead of opt-in and be treated as a first class citizen in the software development cycle, instead of an after thought when the product is about to be finished or released.