@@ -225,20 +225,12 @@ func (p *LoginGovProvider) Redeem(ctx context.Context, redirectURL, code string)
225225
226226// GetLoginURL overrides GetLoginURL to add login.gov parameters
227227func (p *LoginGovProvider) GetLoginURL(redirectURI, state string) string {
228− a := *p.LoginURL
229− params, _ := url.ParseQuery(a.RawQuery)
230− params.Set("redirect_uri", redirectURI)
231− params.Set("approval_prompt", p.ApprovalPrompt)
232− params.Add("scope", p.Scope)
233− params.Set("client_id", p.ClientID)
234− params.Set("response_type", "code")
235− params.Add("state", state)
236− acr := p.AcrValues
237− if acr == "" {
238− acr = "http://idmanagement.gov/ns/assurance/loa/1"
239− }
240− params.Add("acr_values", acr)
241− params.Add("nonce", p.Nonce)
242− a.RawQuery = params.Encode()
228+ extraParams := url.Values{}
229+ if p.AcrValues == "" {
230+ acr := "http://idmanagement.gov/ns/assurance/loa/1"
231+ extraParams.Add("acr_values", acr)
232+ }
233+ extraParams.Add("nonce", p.Nonce)
234+ a := makeLoginURL(p.ProviderData, redirectURI, state, extraParams)
243235 return a.String()
244236}