Merge pull request #1584 from alrs/remove-deprecated-register-broken-auth-header-provider
Deprecated oauth2.RegisterBrokenAuthHeaderProvider
This commit is contained in:
		@@ -9,7 +9,6 @@ import (
 | 
				
			|||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"net/url"
 | 
						"net/url"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
	"sync"
 | 
					 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/coreos/go-oidc"
 | 
						"github.com/coreos/go-oidc"
 | 
				
			||||||
@@ -85,18 +84,6 @@ func knownBrokenAuthHeaderProvider(issuerURL string) bool {
 | 
				
			|||||||
	return false
 | 
						return false
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// golang.org/x/oauth2 doesn't do internal locking. Need to do it in this
 | 
					 | 
				
			||||||
// package ourselves and hope that other packages aren't calling it at the
 | 
					 | 
				
			||||||
// same time.
 | 
					 | 
				
			||||||
var registerMu = new(sync.Mutex)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func registerBrokenAuthHeaderProvider(url string) {
 | 
					 | 
				
			||||||
	registerMu.Lock()
 | 
					 | 
				
			||||||
	defer registerMu.Unlock()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	oauth2.RegisterBrokenAuthHeaderProvider(url)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Open returns a connector which can be used to login users through an upstream
 | 
					// Open returns a connector which can be used to login users through an upstream
 | 
				
			||||||
// OpenID Connect provider.
 | 
					// OpenID Connect provider.
 | 
				
			||||||
func (c *Config) Open(id string, logger log.Logger) (conn connector.Connector, err error) {
 | 
					func (c *Config) Open(id string, logger log.Logger) (conn connector.Connector, err error) {
 | 
				
			||||||
@@ -108,13 +95,15 @@ func (c *Config) Open(id string, logger log.Logger) (conn connector.Connector, e
 | 
				
			|||||||
		return nil, fmt.Errorf("failed to get provider: %v", err)
 | 
							return nil, fmt.Errorf("failed to get provider: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						endpoint := provider.Endpoint()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if c.BasicAuthUnsupported != nil {
 | 
						if c.BasicAuthUnsupported != nil {
 | 
				
			||||||
		// Setting "basicAuthUnsupported" always overrides our detection.
 | 
							// Setting "basicAuthUnsupported" always overrides our detection.
 | 
				
			||||||
		if *c.BasicAuthUnsupported {
 | 
							if *c.BasicAuthUnsupported {
 | 
				
			||||||
			registerBrokenAuthHeaderProvider(provider.Endpoint().TokenURL)
 | 
								endpoint.AuthStyle = oauth2.AuthStyleInParams
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	} else if knownBrokenAuthHeaderProvider(c.Issuer) {
 | 
						} else if knownBrokenAuthHeaderProvider(c.Issuer) {
 | 
				
			||||||
		registerBrokenAuthHeaderProvider(provider.Endpoint().TokenURL)
 | 
							endpoint.AuthStyle = oauth2.AuthStyleInParams
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	scopes := []string{oidc.ScopeOpenID}
 | 
						scopes := []string{oidc.ScopeOpenID}
 | 
				
			||||||
@@ -131,7 +120,7 @@ func (c *Config) Open(id string, logger log.Logger) (conn connector.Connector, e
 | 
				
			|||||||
		oauth2Config: &oauth2.Config{
 | 
							oauth2Config: &oauth2.Config{
 | 
				
			||||||
			ClientID:     clientID,
 | 
								ClientID:     clientID,
 | 
				
			||||||
			ClientSecret: c.ClientSecret,
 | 
								ClientSecret: c.ClientSecret,
 | 
				
			||||||
			Endpoint:     provider.Endpoint(),
 | 
								Endpoint:     endpoint,
 | 
				
			||||||
			Scopes:       scopes,
 | 
								Scopes:       scopes,
 | 
				
			||||||
			RedirectURL:  c.RedirectURI,
 | 
								RedirectURL:  c.RedirectURI,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -111,6 +111,7 @@ func TestHandleCallback(t *testing.T) {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
			defer testServer.Close()
 | 
								defer testServer.Close()
 | 
				
			||||||
			serverURL := testServer.URL
 | 
								serverURL := testServer.URL
 | 
				
			||||||
 | 
								basicAuth := true
 | 
				
			||||||
			config := Config{
 | 
								config := Config{
 | 
				
			||||||
				Issuer:                    serverURL,
 | 
									Issuer:                    serverURL,
 | 
				
			||||||
				ClientID:                  "clientID",
 | 
									ClientID:                  "clientID",
 | 
				
			||||||
@@ -120,6 +121,7 @@ func TestHandleCallback(t *testing.T) {
 | 
				
			|||||||
				UserIDKey:                 tc.userIDKey,
 | 
									UserIDKey:                 tc.userIDKey,
 | 
				
			||||||
				UserNameKey:               tc.userNameKey,
 | 
									UserNameKey:               tc.userNameKey,
 | 
				
			||||||
				InsecureSkipEmailVerified: tc.insecureSkipEmailVerified,
 | 
									InsecureSkipEmailVerified: tc.insecureSkipEmailVerified,
 | 
				
			||||||
 | 
									BasicAuthUnsupported:      &basicAuth,
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			conn, err := newConnector(config)
 | 
								conn, err := newConnector(config)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user