Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alternate CORS design #73

Open
annevk opened this issue Sep 27, 2017 · 1 comment
Open

Alternate CORS design #73

annevk opened this issue Sep 27, 2017 · 1 comment

Comments

@annevk
Copy link
Member

annevk commented Sep 27, 2017

The primary goal is to require some change to the server so it simply cannot echo the Origin request header and call it a day.

With Sec-Suborigin (see #72) request header giving the suborigin identifier this could be made as simple as requiring that Access-Control-Allow-Origin specifies [Sec-Suborigin header value] [Origin header value] (i.e., separated by a space). The Origin request header would still contain the same value it has today (what's called "physical origin" in the current draft).

This has the additional benefit of still allowing requests to responses that always specify *. It seems not allowing such responses to be read unless they add another header (as the current draft proposes) would give quite a bit of motivation to not use suborigins.

Additional CORS preflights will hopefully be solved with Origin Policy.

(For the purpose of the "can we generalize this" discussion: I don't think it makes sense for Origin Isolation to alter the CORS setup (introduce an additional request header and require its value to be serialized into Access-Control-Allow-Origin somehow). That would make adoption of Origin Isolation needlessly complicated (due to all external servers needing to be aware of it) for very marginal benefit.)

@annevk
Copy link
Member Author

annevk commented Sep 27, 2017

@estark37 should probably double check my assertions about Origin Isolation above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant