@@ -73,8 +73,7 @@ func (p *ProviderData) Redeem(ctx context.Context, redirectURL, code string) (s
7373 return
7474}
7575
76−// GetLoginURL with typical oauth parameters
77−func (p *ProviderData) GetLoginURL(redirectURI, state string) string {
76+func DefaultGetLoginURL(p *ProviderData, redirectURI, state string) (url.URL, url.Values) {
7877 a := *p.LoginURL
7978 params, _ := url.ParseQuery(a.RawQuery)
8079 params.Set("redirect_uri", redirectURI)
@@ -93,6 +92,12 @@ func (p *ProviderData) GetLoginURL(redirectURI, state string) string {
9392 if p.ProtectedResource != nil && p.ProtectedResource.String() != "" {
9493 params.Add("resource", p.ProtectedResource.String())
9594 }
95+ return a, params
96+}
97+
98+// GetLoginURL with typical oauth parameters
99+func (p *ProviderData) GetLoginURL(redirectURI, state string) string {
100+ a, params := DefaultGetLoginURL(p, redirectURI, state)
96101 a.RawQuery = params.Encode()
97102 return a.String()
98103}