Don't mutate the authorization endpoint.
Flow should be reusable, Options object should not be
mutated by the calls performed on the flow.
diff --git a/oauth2.go b/oauth2.go
index 0062f59..ce166b1 100644
--- a/oauth2.go
+++ b/oauth2.go
@@ -145,7 +145,7 @@
// access token. If set to "force" the user will always be prompted,
// and the code can be exchanged for a refresh token.
func (f *Flow) AuthCodeURL(state, accessType, prompt string) string {
- u := f.opts.AuthURL
+ u := *f.opts.AuthURL
v := url.Values{
"response_type": {"code"},
"client_id": {f.opts.ClientID},