Closed rahulblue closed 4 weeks ago
@rahulblue you can make this work by using the cloud UI for managing ENV settings.
The relevant document would be:
https://devdocs.magento.com/guides/v2.3/config-guide/prod/config-reference-var-name.html
You'll need to set
env:CONFIG__SYSTEM__WEB__GRAPHQL__CORS_ALLOWED_ORIGINS
as well as other relevant configuration in the UI.
Additionally, I would recommend giving 2.0 a try as well, it's ~10x faster than the 1.x line.
env:CONFIGSYSTEMWEBGRAPHQLCORS_ALLOWED_ORIGINS
I have tried using this method but again having a same problem .
Please re-read the documents I sent.
Exactly which point are you referring to the problem is in there is no .magento.env.yaml file in the setup, only way I have that creating environment variable from Cloud UI, but it is not working. I am researching this topic since from last 9 hour still do not have exact solution.
Additionally, take a look at your screenshot and try to align:
It looks like you literally copy-pasted some access control headers into the field, which I don't mention anywhere in my docs.
Thanks for your reply,
Can you see below screenshot? Am I missing or doing wrongly?
please suggest.
@rahulblue looks much better, however there's an error in your key name DEFAUT
vs. DEFAULT
No luck after updating.
same error
Ok, let me try this out and I'll post my findings.
please let me know your findings, I have only one hope which is your extension. for Magento cloud integration branch there is no other way to enable CORS settings, it would be enable on further environment(Staging and Production) due to fastly. currently it is a biggest bottleneck for moving ahead to me.
Thanks.
@damienwebdev any update on this one? Having the same issue here
I don't have a cloud account that I have permissions to deploy this to. If you have one, I'd be more than happy to help.
On Wed, Apr 5, 2023, 11:31 AM leandrofreireasco @.***> wrote:
@damienwebdev https://github.com/damienwebdev any update on this one? Having the same issue here
— Reply to this email directly, view it on GitHub https://github.com/graycoreio/magento2-cors/issues/78#issuecomment-1497688986, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACE4QFXCN3Y5DLKYYL73GPTW7WF6XANCNFSM6AAAAAAT2MHDUM . You are receiving this because you were mentioned.Message ID: @.***>
@damienwebdev I'm working on a cloud project right now. Our stack is Angular (Frontend) and Magento Cloud. We are getting issues with CORS while trying to fetch data from a graphql endpoint. I've installed your module and tried to configure it:
Environment variables: -- CONFIGDEFAULTWEBGRAPHQLCORS_ALLOWED_ORIGINS -- CONFIGDEFAULTWEBGRAPHQLCORS_ALLOWED_METHOD
Adding to the app/etc/config.php (we don't have access to the env.php in Magento Cloud)
Adding the XML paths directly into the core_config_data table
None of the steps above works
Any other clue on what we could do?
Can you include the output headers on an OPTIONS request with curl targeted at your domain?
curl https://DOMAIN.com/graphql \
-X OPTIONS \
-H "Access-Control-Request-Method: POST" \
-H "Access-Control-Request-Headers: content-type" \
-H "Origin: https://DOMAIN.com" \
--head
Please change the domain above and post the response you get back.
Additionally, please post the content you used for your ENV settings.
Finally, if you have a local env, can you confirm if it works locally in your environment. It may well be that Fastly messes with requests in cloud.
@damienwebdev just to let you know, I figured it out.
In order for this module to work with Magento Cloud, we need to add the following entries to the app/etc/config.php file:
'system' => [
'default' => [
'web' => [
'graphql' => [
'cors_allowed_origins' => '*',
'cors_allowed_methods' => 'GET, POST, OPTIONS, PUT',
'cors_allowed_headers' => 'Content-Type, GraphQLAuth', // All headers used in the request
'cors_max_age' => '86400',
'cors_allow_credentials' => 0
],
'api_rest' => [
'cors_allowed_origins' => '*',
'cors_allowed_methods' => 'GET, POST, OPTIONS',
'cors_allowed_headers' => 'Content-Type, GraphQLAuth' // All headers used in the request,
'cors_max_age' => '86400',
'cors_allow_credentials' => 0
]
]
]
]
What wound up being the problem, the allowed headers?
yep, those 3 headers must exist:
@leandrofreireasco ok. Then, for the origins, I assume you added those as ENV variables to the cloud UI? Could you add a screenshot of what you added? (Feel free to obfuscate this, I just need a screenshot for the documentation)
pinging @leandrofreireasco just one more time in hopes of a screenshot :)
Funny you mention "for the documentation", I literally see no documentation to use this with Cloud. Trying to piece together a couple random issues with no solutions isn't working. Uninstalled as fast as I installed it.
Sorry @amcguireweb I don't have any merchants that use this on Commerce Cloud. If you're willing to hop in discord, I'd be happy to turn whatever comes out of that into docs, it's just hard to write docs for something I don't do!
Here we go @damienwebdev
app/etc/config.php
.magento.app.yaml
We have tried to installed your module into Magento Cloud, We followed all initial steps which you given. we were trying to add system variable which you mentioned here - https://github.com/graycoreio/magento2-cors/blob/master/docs/stories/configuring-the-headers.md, but in Magento cloud env.php file is not editable, also there isn't any provision to add system variable into anywhere.
Do you have any other solution for adding all values under system? adding somewhere in config or .php file?
Environment
magento2-cors version: 1.6.0 Magento version: Magento Commerce 2.4.5 PHP Version version: 8.1