@@ -31,7 +31,7 @@ func makeOIDCHeader(accessToken string) http.Header {
3131 return makeAuthorizationHeader(tokenTypeBearer, accessToken, extraHeaders)
3232}
3333
34−func makeLoginURL(p *ProviderData, redirectURI, state string) (url.URL, url.Values) {
34+func makeLoginURL(p *ProviderData, redirectURI, state string, extraParams url.Values) url.URL {
3535 a := *p.LoginURL
3636 params, _ := url.ParseQuery(a.RawQuery)
3737 params.Set("redirect_uri", redirectURI)
@@ -47,5 +47,11 @@ func makeLoginURL(p *ProviderData, redirectURI, state string) (url.URL, url.Valu
4747 params.Set("client_id", p.ClientID)
4848 params.Set("response_type", "code")
4949 params.Add("state", state)
50− return a, params
50+ for n, p := range extraParams {
51+ for _, v := range p {
52+ params.Add(n, v)
53+ }
54+ }
55+ a.RawQuery = params.Encode()
56+ return a
5157}