@@ -46,12 +46,13 @@ type Options struct {
4646
4747 // These options allow for other providers besides Google, with
4848 // potential overrides.
49− Provider string `flag:"provider" cfg:"provider"`
50− LoginUrl string `flag:"login-url" cfg:"login_url"`
51− RedeemUrl string `flag:"redeem-url" cfg:"redeem_url"`
52− ProfileUrl string `flag:"profile-url" cfg:"profile_url"`
53− ValidateUrl string `flag:"validate-url" cfg:"validate_url"`
54− Scope string `flag:"scope" cfg:"scope"`
49+ Provider string `flag:"provider" cfg:"provider"`
50+ LoginUrl string `flag:"login-url" cfg:"login_url"`
51+ RedeemUrl string `flag:"redeem-url" cfg:"redeem_url"`
52+ ProfileUrl string `flag:"profile-url" cfg:"profile_url"`
53+ ValidateUrl string `flag:"validate-url" cfg:"validate_url"`
54+ Scope string `flag:"scope" cfg:"scope"`
55+ ApprovalPrompt string `flag:"approval-prompt" cfg:"approval_prompt"`
5556
5657 RequestLogging bool `flag:"request-logging" cfg:"request_logging"`
5758
@@ -76,6 +77,7 @@ func NewOptions() *Options {
7677 PassBasicAuth: true,
7778 PassAccessToken: false,
7879 PassHostHeader: true,
80+ ApprovalPrompt: "force",
7981 RequestLogging: true,
8082 }
8183}
@@ -165,7 +167,12 @@ func (o *Options) Validate() error {
165167}
166168
167169func parseProviderInfo(o *Options, msgs []string) []string {
168− p := &providers.ProviderData{Scope: o.Scope, ClientID: o.ClientID, ClientSecret: o.ClientSecret}
170+ p := &providers.ProviderData{
171+ Scope: o.Scope,
172+ ClientID: o.ClientID,
173+ ClientSecret: o.ClientSecret,
174+ ApprovalPrompt: o.ApprovalPrompt,
175+ }
169176 p.LoginUrl, msgs = parseUrl(o.LoginUrl, "login", msgs)
170177 p.RedeemUrl, msgs = parseUrl(o.RedeemUrl, "redeem", msgs)
171178 p.ProfileUrl, msgs = parseUrl(o.ProfileUrl, "profile", msgs)