https://mingrammer.com/getting-started-with-oauth2-in-go/