You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2017/03/10 10:21:04 UTC

[jira] [Updated] (CAMEL-10913) CORS header Access-Control-Allow-Credentials not managed correctly

     [ https://issues.apache.org/jira/browse/CAMEL-10913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated CAMEL-10913:
--------------------------------
    Fix Version/s: 2.19.0

> CORS header Access-Control-Allow-Credentials not managed correctly
> ------------------------------------------------------------------
>
>                 Key: CAMEL-10913
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10913
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-http-common
>            Reporter: Nicola Ferraro
>             Fix For: 2.19.0
>
>
> When a browser uses the "withCredentials" flag (not visible in HTTP request headers), it accepts the response only if the "Access-Control-Allow-Credentials" header returned by the server is set to "true".
> That header is not part of Camel standard cors headers, but it can be set in the route. The problem is that when "Access-Control-Allow-Credentials" is set to "true", the "Access-Control-Allow-Origin" header cannot be set to "*", which is our default (https://www.w3.org/TR/cors/ - section 6.1, point 3).
> Setting a value for the "Access-Control-Allow-Origin" header equals to the "Origin" header of the request makes the trick, but this must be set per-route, and *CORS must be disabled*.
> Eg. 
> {code}
> // do not enable cors
> rest().get("/hello")
>   .route()
>   .to("direct:handle")
>   .setHeader("Access-Control-Allow-Credentials", constant("true"))
>   .setHeader("Access-Control-Allow-Origin", header("Origin"));
> {code}
> Otherwise the only option is setting a fixed allowed origin if you know it in advance.
> I wonder if we should add e.g. a ".corsAllowCredentials(boolean)" configuration to handle this situation correctly, or another flag to reflect the origin instead of returning "*".



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)