heroku 使用SendGrid时出现CORS错误,说明源已被CORS策略阻止,请求的资源上不存在Access-Control-Allow-Origin标头

olhwl3o2  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(199)

**BE部署:**在Heroku(DRF项目)**FE部署:**在Netlify(React项目)

我已经将SendGrid集成到我的项目中。它在本地机器上工作正常,但在Heroku上部署后抛出CORS错误。它根本不允许我登录。
从源https://<something>.netlify.app访问https://<something>.herokuapp.com/auth/login/上的XMLHttpRequest已被CORS策略阻止,请求的资源上不存在“控制-允许-源”标头。
为了集成SendGrid,我使用了以下包:

django-sendgrid-v5==1.2.2
sendgrid==6.10.0

我已经在Heroku的Settings > Config Vars中设置了所有需要的环境变量:

SENDGRID_API_KEY = 'something'
EMAIL_HOST = 'something'
EMAIL_HOST_USER = 'something'
EMAIL_HOST_PASSWORD = 'something'
EMAIL_PORT = 'something'
EMAIL_USE_TLS = 'something'
DEFAULT_FROM_EMAIL = 'something'
EMAIL_FROM = 'something'

我已经尝试了所有可能的解决方案,根据我的知识。因为它在本地机器上工作,而不是在Heroku上,所以我添加了名为Twilio SendGrid的免费插件,并在Heroku应用>设置>配置变量中设置了所有必需的参数。
但到目前为止,没有任何工作。

pnwntuvh

pnwntuvh1#

您的应用程序在https://. herokuapp.com/auth/login/需要允许来自https://. netlify.app的请求
你可以在https://. herokuapp.com的代码中设置以下响应头

"Access-Control-Allow-Origin" =  "*"

注意:这将允许来自所有域的传入请求。它适合测试,但在生产使用之前应该将 * 更改为预期的域。

相关问题