You can easily add authentication to Go via JWT [0]. You can also write middlewares in Go[1] ranging from auth to gzip or anything else you can think of.
[0] https://github.com/dgrijalva/jwt-go
[1] https://hackernoon.com/simple-http-middleware-with-go-79a4ad...