diff --git a/cmd/example-app/main.go b/cmd/example-app/main.go index a188dccc..ffa21c29 100644 --- a/cmd/example-app/main.go +++ b/cmd/example-app/main.go @@ -241,12 +241,15 @@ func (a *app) handleLogin(w http.ResponseWriter, r *http.Request) { authCodeURL := "" scopes = append(scopes, "openid", "profile", "email") - if a.offlineAsScope { + if r.FormValue("offline_acecss") != "yes" { + authCodeURL = a.oauth2Config(scopes).AuthCodeURL(exampleAppState) + } else if a.offlineAsScope { scopes = append(scopes, "offline_access") authCodeURL = a.oauth2Config(scopes).AuthCodeURL(exampleAppState) } else { authCodeURL = a.oauth2Config(scopes).AuthCodeURL(exampleAppState, oauth2.AccessTypeOffline) } + http.Redirect(w, r, authCodeURL, http.StatusSeeOther) } diff --git a/cmd/example-app/templates.go b/cmd/example-app/templates.go index 66142540..c0f9dfbd 100644 --- a/cmd/example-app/templates.go +++ b/cmd/example-app/templates.go @@ -14,6 +14,9 @@ var indexTmpl = template.Must(template.New("index.html").Parse(`

Extra scopes: +

+

+ Request offline access: