@@ -73,8 +73,7 @@ func (p *ProviderData) Redeem(ctx context.Context, redirectURL, code string) (s
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) {
78 a := *p.LoginURL
77 a := *p.LoginURL
79 params, _ := url.ParseQuery(a.RawQuery)
78 params, _ := url.ParseQuery(a.RawQuery)
80 params.Set("redirect_uri", redirectURI)
79 params.Set("redirect_uri", redirectURI)
@@ -93,6 +92,12 @@ func (p *ProviderData) GetLoginURL(redirectURI, state string) string {
93 if p.ProtectedResource != nil && p.ProtectedResource.String() != "" {
92 if p.ProtectedResource != nil && p.ProtectedResource.String() != "" {
94 params.Add("resource", p.ProtectedResource.String())
93 params.Add("resource", p.ProtectedResource.String())
98+// GetLoginURL with typical oauth parameters
99+func (p *ProviderData) GetLoginURL(redirectURI, state string) string {
100+ a, params := DefaultGetLoginURL(p, redirectURI, state)
96 a.RawQuery = params.Encode()
101 a.RawQuery = params.Encode()
97 return a.String()
102 return a.String()