Session 如何在swagger editor中维护会话

Session 如何在swagger editor中维护会话,session,cookies,swagger,swagger-ui,suppress-warnings,Session,Cookies,Swagger,Swagger Ui,Suppress Warnings,我正在使用swagger构建API文档。我是新手。我要做的是首先登录并调用list API。但是,由于会话没有维护cookies,因此列表调用没有得到执行。您需要首先登录到应用程序,然后调用列表。 我怎样才能在大摇大摆的编辑器中做到这一点 谢谢你我刚刚花了一些时间来解决这个问题,据我所知,Swagger编辑器不会使用xhr.withCredentials=true进行API调用,这意味着即使服务器的CORS策略允许,浏览器也不会发送cookie。已经有人讨论过如何更新Swagger Editor

我正在使用swagger构建API文档。我是新手。我要做的是首先登录并调用list API。但是,由于会话没有维护cookies,因此列表调用没有得到执行。您需要首先登录到应用程序,然后调用列表。 我怎样才能在大摇大摆的编辑器中做到这一点


谢谢你

我刚刚花了一些时间来解决这个问题,据我所知,Swagger编辑器不会使用
xhr.withCredentials=true
进行API调用,这意味着即使服务器的CORS策略允许,浏览器也不会发送cookie。已经有人讨论过如何更新Swagger Editor以允许一个选项来执行此操作(例如),但似乎还没有完成

您最好的选择可能是通过在您自己的域上托管Swagger Editor来避免整个跨源安全问题。这是建议之一:。只需运行它,就好像它是开发人员站点上您自己的应用程序一样

另一个建议是禁用Chrome web安全性:。我还没有尝试过这个方法,但它可能不起作用,因为Swagger Editor仍然没有正确设置XHR请求

最后,如果您熟悉docker,可以运行一个Swagger Editor docker实例并将所有内容链接起来。这很复杂,但我是通过以下方式实现的:

  • 在docker容器中运行后端
  • 在同一网络上的另一个docker容器中运行Swagger Editor实例()
  • 在第三个docker容器内运行nginx反向代理服务器,以便任何请求(例如,
    http://localhost/dev/swagger-editor/
    是否将代理转发到swagger docker容器,以及是否将任何请求转发到
    http://localhost/api/
    将代理转发到您的后端。这样,浏览器只看到对
    localhost
    的请求,一切正常

但是,在合理预期您将成功完成此操作之前,您需要愿意进入docker和nginx反向代理配置。否则这可能是另一个兔子洞。祝你好运

嘿,谢谢你的回复。我已经禁用了Chrome的安全性,它对我有效。所以,让我们看看我是否需要这样的其他方式,我会尝试下一个选项。