git.iko.soy/typeable/oauth2-proxy
on master help sign in
Move actual implementation of default provider GetLoginURL into DefaultGetLoginURL

This allows us to reuse code from different providers in case slight modifications to the URL are needed.

commit97e95fd4ffe4887fe2a334d78c0279d2f30d46a5 authorAlexander Block <ablock84@gmail.com> dateMon 14 Sep 2020, 13:22 (6 years ago) parent017b9bc
1 file changed+7−2
providers/provider_default.go+7−2
providers/provider_default.go+7−2
@@ -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}