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

PB-737: Fix CORS issues when working on localhost #69

Merged
merged 2 commits into from
Sep 18, 2024

Conversation

ltshb
Copy link
Contributor

@ltshb ltshb commented Sep 18, 2024

Previous PR #66 was too restrictive has it blocked localhost on the DEV staging
which is needed to develop the web-mapviewer.

The main issue was that the ALLOWED_DOMAINS config was used for CORS and for
URL parameter check, but in the code the logic to validate CORS and url parameter
differ, due to this it was not possible anymore to set a ALLOWED_DOMAINS value
that would allow localhost as CORS and or as url parameter. The url parameter
check wanted to have a regex to exactly match the host name without the path,
while CORS did check the full url.

Now the code has been simplified and we use the same function/logic to test url
and CORS, using the full url. Note that ORIGIN and REFERER header based on the
documentation should always has the scheme http:// or https://. Referer might
have a path or not.

So now the ALLOWED_DOMAINS must be a pattern that match a full URL not only part
of it.

Together with https://github.com/geoadmin/infra-kubernetes/pull/629 it fix local development of web-mapviewer

Previous PR #66 was too restrictive has it blocked localhost on the DEV staging
which is needed to develop the web-mapviewer.

The main issue was that the ALLOWED_DOMAINS config was used for CORS and for
URL parameter check, but in the code the logic to validate CORS and url parameter
differ, due to this it was not possible anymore to set a ALLOWED_DOMAINS value
that would allow localhost as CORS and or as url parameter. The url parameter
check wanted to have a regex to exactly match the host name without the path,
while CORS did check the full url.

Now the code has been simplified and we use the same function/logic to test url
and CORS, using the full url. Note that ORIGIN and REFERER header based on the
documentation should always has the scheme http:// or https://. Referer might
have a path or not.

So now the ALLOWED_DOMAINS must be a pattern that match a full URL not only part
of it.
@github-actions github-actions bot added the bug label Sep 18, 2024
Instead of given regex for the full url, only provide regex for the host part
of the url. This allow to not touch the configuration on deployment.
@ltshb ltshb requested a review from pakb September 18, 2024 07:16
@ltshb ltshb merged commit f6a2f59 into develop Sep 18, 2024
5 checks passed
@ltshb ltshb deleted the bug-PB-737-allow-domain branch September 18, 2024 07:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants