Test explicit subdomain whitelisting
This commit is contained in:
		
							parent
							
								
									81f77a55de
								
							
						
					
					
						commit
						9007d66559
					
				|  | @ -98,7 +98,8 @@ func TestIsValidRedirect(t *testing.T) { | ||||||
| 	opts.ClientID = "bazquux" | 	opts.ClientID = "bazquux" | ||||||
| 	opts.ClientSecret = "foobar" | 	opts.ClientSecret = "foobar" | ||||||
| 	opts.CookieSecret = "xyzzyplugh" | 	opts.CookieSecret = "xyzzyplugh" | ||||||
| 	opts.WhitelistDomains = []string{"foo.bar"} | 	// Should match domains that are exactly foo.bar and any subdomain of bar.foo
 | ||||||
|  | 	opts.WhitelistDomains = []string{"foo.bar", ".bar.foo"} | ||||||
| 	opts.Validate() | 	opts.Validate() | ||||||
| 
 | 
 | ||||||
| 	proxy := NewOAuthProxy(opts, func(string) bool { return true }) | 	proxy := NewOAuthProxy(opts, func(string) bool { return true }) | ||||||
|  | @ -112,12 +113,24 @@ func TestIsValidRedirect(t *testing.T) { | ||||||
| 	doubleSlash := proxy.IsValidRedirect("//redirect") | 	doubleSlash := proxy.IsValidRedirect("//redirect") | ||||||
| 	assert.Equal(t, false, doubleSlash) | 	assert.Equal(t, false, doubleSlash) | ||||||
| 
 | 
 | ||||||
| 	validHTTP := proxy.IsValidRedirect("http://baz.foo.bar/redirect") | 	validHTTP := proxy.IsValidRedirect("http://foo.bar/redirect") | ||||||
| 	assert.Equal(t, true, validHTTP) | 	assert.Equal(t, true, validHTTP) | ||||||
| 
 | 
 | ||||||
| 	validHTTPS := proxy.IsValidRedirect("https://baz.foo.bar/redirect") | 	validHTTPS := proxy.IsValidRedirect("https://foo.bar/redirect") | ||||||
| 	assert.Equal(t, true, validHTTPS) | 	assert.Equal(t, true, validHTTPS) | ||||||
| 
 | 
 | ||||||
|  | 	invalidHTTPSubdomain := proxy.IsValidRedirect("http://baz.foo.bar/redirect") | ||||||
|  | 	assert.Equal(t, false, invalidHTTPSubdomain) | ||||||
|  | 
 | ||||||
|  | 	invalidHTTPSSubdomain := proxy.IsValidRedirect("https://baz.foo.bar/redirect") | ||||||
|  | 	assert.Equal(t, false, invalidHTTPSSubdomain) | ||||||
|  | 
 | ||||||
|  | 	validHTTPSubdomain := proxy.IsValidRedirect("http://baz.bar.foo/redirect") | ||||||
|  | 	assert.Equal(t, true, validHTTPSubdomain) | ||||||
|  | 
 | ||||||
|  | 	validHTTPSSubdomain := proxy.IsValidRedirect("https://baz.bar.foo/redirect") | ||||||
|  | 	assert.Equal(t, true, validHTTPSSubdomain) | ||||||
|  | 
 | ||||||
| 	invalidHTTP1 := proxy.IsValidRedirect("http://foo.bar.evil.corp/redirect") | 	invalidHTTP1 := proxy.IsValidRedirect("http://foo.bar.evil.corp/redirect") | ||||||
| 	assert.Equal(t, false, invalidHTTP1) | 	assert.Equal(t, false, invalidHTTP1) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue