Make /device/token deprecation warning more concise
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
This commit is contained in:
		@@ -151,9 +151,8 @@ func (s *Server) handleDeviceCode(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *Server) handleDeviceTokenGrant(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	s.logger.Warn(`Request to the deprecated "/device/token" endpoint was received.`)
 | 
			
		||||
	s.logger.Warn(`The "/device/token" endpoint will be removed in a future release.`)
 | 
			
		||||
func (s *Server) handleDeviceTokenDeprecated(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	s.logger.Warn(`The deprecated "/device/token" endpoint was called. It will be removed, use "/token" instead.`)
 | 
			
		||||
 | 
			
		||||
	w.Header().Set("Content-Type", "application/json")
 | 
			
		||||
	switch r.Method {
 | 
			
		||||
 
 | 
			
		||||
@@ -321,7 +321,7 @@ func newServer(ctx context.Context, c Config, rotationStrategy rotationStrategy)
 | 
			
		||||
	handleFunc("/device/auth/verify_code", s.verifyUserCode)
 | 
			
		||||
	handleFunc("/device/code", s.handleDeviceCode)
 | 
			
		||||
	// TODO(nabokihms): "/device/token" endpoint is deprecated, consider using /token endpoint instead
 | 
			
		||||
	handleFunc("/device/token", s.handleDeviceTokenGrant)
 | 
			
		||||
	handleFunc("/device/token", s.handleDeviceTokenDeprecated)
 | 
			
		||||
	handleFunc(deviceCallbackURI, s.handleDeviceCallback)
 | 
			
		||||
	r.HandleFunc(path.Join(issuerURL.Path, "/callback"), func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		// Strip the X-Remote-* headers to prevent security issues on
 | 
			
		||||
 
 | 
			
		||||
@@ -1497,8 +1497,28 @@ func TestOAuth2DeviceFlow(t *testing.T) {
 | 
			
		||||
	var conn *mock.Callback
 | 
			
		||||
	idTokensValidFor := time.Second * 30
 | 
			
		||||
 | 
			
		||||
	for _, tc := range makeOAuth2Tests(clientID, clientSecret, now).tests {
 | 
			
		||||
		func() {
 | 
			
		||||
	tests := makeOAuth2Tests(clientID, clientSecret, now)
 | 
			
		||||
	testCases := []struct {
 | 
			
		||||
		name          string
 | 
			
		||||
		tokenEndpoint string
 | 
			
		||||
		oauth2Tests   oauth2Tests
 | 
			
		||||
	}{
 | 
			
		||||
		{
 | 
			
		||||
			name:          "Actual token endpoint for devices",
 | 
			
		||||
			tokenEndpoint: "/token",
 | 
			
		||||
			oauth2Tests:   tests,
 | 
			
		||||
		},
 | 
			
		||||
		// TODO(nabokihms): delete temporary tests after removing the deprecated token endpoint support
 | 
			
		||||
		{
 | 
			
		||||
			name:          "Deprecated token endpoint for devices",
 | 
			
		||||
			tokenEndpoint: "/device/token",
 | 
			
		||||
			oauth2Tests:   tests,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, testCase := range testCases {
 | 
			
		||||
		for _, tc := range testCase.oauth2Tests.tests {
 | 
			
		||||
			t.Run(tc.name, func(t *testing.T) {
 | 
			
		||||
				ctx, cancel := context.WithCancel(context.Background())
 | 
			
		||||
				defer cancel()
 | 
			
		||||
 | 
			
		||||
@@ -1583,7 +1603,7 @@ func TestOAuth2DeviceFlow(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
				// Hit the Token Endpoint, and try and get an access token
 | 
			
		||||
				tokenURL, _ := url.Parse(issuer.String())
 | 
			
		||||
			tokenURL.Path = path.Join(tokenURL.Path, "/token")
 | 
			
		||||
				tokenURL.Path = path.Join(tokenURL.Path, testCase.tokenEndpoint)
 | 
			
		||||
				v := url.Values{}
 | 
			
		||||
				v.Add("grant_type", grantTypeDeviceCode)
 | 
			
		||||
				v.Add("device_code", deviceCode.DeviceCode)
 | 
			
		||||
@@ -1634,6 +1654,7 @@ func TestOAuth2DeviceFlow(t *testing.T) {
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					t.Errorf("%s: %v", tc.name, err)
 | 
			
		||||
				}
 | 
			
		||||
		}()
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user