Add "Location" to WFEv2 Access-Control-Expose-Headers. (#3337)
This updates CORS to allow in-browser JS clients to access the Location response header. Resolves #3334 Thanks to @tappie for reporting!
This commit is contained in:
		
							parent
							
								
									4d7d2e5985
								
							
						
					
					
						commit
						191ad117dc
					
				|  | @ -1291,7 +1291,7 @@ func (wfe *WebFrontEndImpl) setCORSHeaders(response http.ResponseWriter, request | |||
| 		// For an OPTIONS request: allow all methods handled at this URL.
 | ||||
| 		response.Header().Set("Access-Control-Allow-Methods", allowMethods) | ||||
| 	} | ||||
| 	response.Header().Set("Access-Control-Expose-Headers", "Link, Replay-Nonce") | ||||
| 	response.Header().Set("Access-Control-Expose-Headers", "Link, Replay-Nonce, Location") | ||||
| 	response.Header().Set("Access-Control-Max-Age", "86400") | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -497,7 +497,7 @@ func TestHandleFunc(t *testing.T) { | |||
| 	test.AssertEquals(t, rw.Code, http.StatusOK) | ||||
| 	test.AssertEquals(t, rw.Header().Get("Access-Control-Allow-Methods"), "") | ||||
| 	test.AssertEquals(t, rw.Header().Get("Access-Control-Allow-Origin"), "*") | ||||
| 	test.AssertEquals(t, sortHeader(rw.Header().Get("Access-Control-Expose-Headers")), "Link, Replay-Nonce") | ||||
| 	test.AssertEquals(t, sortHeader(rw.Header().Get("Access-Control-Expose-Headers")), "Link, Location, Replay-Nonce") | ||||
| 
 | ||||
| 	// CORS preflight request for disallowed method
 | ||||
| 	runWrappedHandler(&http.Request{ | ||||
|  | @ -525,7 +525,7 @@ func TestHandleFunc(t *testing.T) { | |||
| 	test.AssertEquals(t, rw.Header().Get("Access-Control-Allow-Origin"), "*") | ||||
| 	test.AssertEquals(t, rw.Header().Get("Access-Control-Max-Age"), "86400") | ||||
| 	test.AssertEquals(t, sortHeader(rw.Header().Get("Access-Control-Allow-Methods")), "GET, HEAD, POST") | ||||
| 	test.AssertEquals(t, sortHeader(rw.Header().Get("Access-Control-Expose-Headers")), "Link, Replay-Nonce") | ||||
| 	test.AssertEquals(t, sortHeader(rw.Header().Get("Access-Control-Expose-Headers")), "Link, Location, Replay-Nonce") | ||||
| 
 | ||||
| 	// OPTIONS request without an Origin header (i.e., not a CORS
 | ||||
| 	// preflight request)
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue