问题标签 [flask-cors]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 Flask 中为 Preflight 请求配置特定标头
我正在研究 React Native 前端和 Python Flask 后端。对于我的 POST 请求,我有时需要提供两个额外的标头:X-CSRF-TOKEN-ACCESS 和 X-CSRF-TOKEN-REFRESH 用于我的身份验证。
但是,我的问题是我使用的是flask-cors + flask-jwt-extended,看起来我遇到了一些预检请求问题:我的前端发送带有两个标头的请求,但是当在POST中收到请求时后端,两个标头值都是null
. 在预检 OPTIONS 请求期间,我猜这些标头已变为空...
我的问题:我需要在我的烧瓶配置中修改什么以允许在我的请求中使用此类标头?
实际配置:
和其他配置:
编辑:还有一件事。当我的 React 请求 X-CSRF-TOKE-REFRESH 或 X-CSRF-TOKE-ACCESS 标头值设置为哑值(例如:“blabla”)时,我可以在后端清楚地看到它。
reactjs - 会话字段为无
我已经在一个域中托管了一个用 Flask 编写的 rest API,并且我在 azure app services 中的另一个域中托管了我的 react 应用程序。我可以使用用户名和密码成功登录系统。但是,当我尝试访问端点时,我得到None
了用户名属性(本地一切正常,没有任何问题)。
我想我已经应用了正确的 CORS 政策,但我无法让它发挥作用。应用的 CORS 配置如下。
端点的获取请求如下所示。
同样在 Azure 应用服务中,domainA
被添加到domainB
.
如果我使用 Postman,我可以毫无问题地使用端点。我注意到的一件事是我的请求和响应会话值字符串不同。下面是请求-响应标头的屏幕截图。
python - 如何为 flask_cors 设置 Access-Control-Max-Age?
在我的烧瓶应用程序中,我需要设置Access-Control-Max-Age
. 它的正确语法是什么?
python - 启用 CORS 谷歌云函数 (Python)
可以flask_cors
在 Google Cloud Functions 中使用您吗?
这个包在本地flask_cors
可以工作,但在部署到 Cloud Functions 上时却不行。
我尝试了许多不同的方法,因为 GCP 建议https://cloud.google.com/functions/docs/writing/http 但我仍然收到 CORS 错误:
对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
reactjs - 如何防止 flask_login 中的 current_user 被重置?
我正在使用烧瓶应用程序作为我的反应前端的后端服务器。在烧瓶应用程序中,我已经设置了 LoginManager(app) 并且@login_manager.user_loader
根据烧瓶文档进行了所有设置。通过打印声明,我确保声明current_user.is_authenticated
之后是正确的login_user(user, remember=True)
。
但是,当我current_user.is_authenticated
在不同的路线上检查时,这是错误的。我该如何解决这个问题?有关系CORS(app)
吗?如果是这样,我如何为 CORS 设置 flask_login ?
登录发生如下:
然后我尝试在发回章节列表之前验证 current_user 是否经过身份验证。
我从上述函数curUser: None False得到的输出,当我在控制台中检查响应时,它总是 { 'list': [], 'restricted':True, 'msg': 'Login required' }
我正在尝试使用烧瓶作为后端来对前端做出反应。为了验证用户身份,我使用了 flask_login。在 package.json 中将 react 的代理值设置为“localhost:5000”的情况下,一切正常。但是为了生产,我避免使用代理并在 fetch 调用中使用整个 url,比如fetch('http://localhost:5000/auth/login', userObj)
. 当我这样做时,flask 无法记住用户或保持用户登录以进行下一次 api 调用。我试图打印 current_user.is_authenticated 并在下一次 fetch 调用时输出 False。我该如何处理?
python - 在 Google Cloud Platform Function 中启用 CORS Python
我已经关注了一些 Medium 文章以及 Google 自己的教程,但仍然无法在此功能上使用烧瓶启用 CORS :(
我缺少什么代码来启用 CORS?我想要 * 的通配符,因为我希望所有服务/域都能够访问此功能和其他功能。
我听说 GCP 不适用于 @app。为什么,我不太确定。
请注意,我已经成功地直接在浏览器的 url 栏上测试输出以及在 GCP 本身内触发 JSON 测试。
我的预期用途仅用于 GET 请求。
我似乎知道 CORS 的理论,但我的实践还不够强大,而且 GCP 似乎以不同的方式与 flask-cors 一起工作。
docker - 为什么 Flask-Cors 在生产中没有检测到我的跨域域?
我的网站前端和后端有一个单独的服务器,所以我的后端服务器需要开放CORS权限,以便前端可以向它请求数据。
我在开发中成功使用了Flask-Cors ,但是当我部署到生产环境时它不起作用。 (请注意,我已经查看了关于 SO 的其他烧瓶科尔问题,但没有一个适合我的情况)
以下是正在开发中的相关代码:
我试过的:
- 将我的服务器的 IP 地址添加
'http://162.243.168.182:5001'
到 CORS 列表中并不足以解决问题,尽管我知道它应该在那里。 - 似乎使用
'*'
允许所有来源也不起作用。(非常可疑!)
请注意,我使用的是 Docker 容器,因此我在开发和生产之间的环境几乎相同。但不同的是我在不同的服务器上,并且我修改了前端以将请求发送到新的 IP 地址(导致著名的“Access-Control-Allow-Origin” header missing
CORS 错误)。
现在我想知道该flask.request
对象是否以某种方式丢失了信息,这会导致 Flask-Cors 无法像预期的那样发送 Access-Control-Allow-Origin 标头。如果您认为有帮助,我可以提供该日志记录信息!
更多信息!
我在 PROD 中使用的 Dockerfile 是:
我用来启动它的命令是:
进入/app
容器的目录,有文件uwsgi.ini
内容:
这似乎有效,并且文件/etc/nginx/nginx.conf
包含以下内容:
该文件/etc/nginx/conf.d/nginx.conf
包含以下内容:
python - 请求的资源(FLASK API / ReactJs)上不存在“Access-Control-Allow-Origin”标头
我正在使用 Flask 和 ReactJs 为我的一个大学项目实施蔬菜零售价格预测 Web 应用程序。我的 POST 请求在 Postman 上运行良好,但是当我尝试在 ReactJs 中使用表单发出 POST 请求时,出现以下错误:
但是我在 server.py 中添加了以下代码段:
我的 Flask 应用程序中的方法(lstm_price_model.py):
React.js 应用程序(api_calls.js)中的 fetch 调用:
前端代码的 Github 链接 - https://github.com/HashiniW/CDAP-F
后端代码的 Github 链接 - https://github.com/HashiniW/CDAP-B
有什么建议可以克服这个错误吗?谢谢你!
python-3.x - Flask CORS 停止允许访问资源
就在几天前,我不需要对我正在使用的 Flask-CORS 扩展进行任何修改。显然我现在这样做了。
控制台在 POST 请求上给我这个错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:5000/blog/posts. (Reason: CORS preflight response did not succeed)
我的配置之一:
__init__.py
:
我的蓝图:
几天前,我所要做的就是初始化扩展,剩下的就交给它了。现在,即使明确指定我允许从任何地方访问,我也会遇到错误。一旦这可行,我会将其缩小到只有一个域,但这仍然会引发错误。
我试图获得一些调试输出logging.getLogger('flask_cors').level = logging.DEBUG
127.0.0.1 - - [04/Feb/2021 11:02:31] "OPTIONS /blog/posts HTTP/1.1" 404 -
有什么建议吗?