调用其余 API (/storeraw) 时出现 Tessera 跨源问题

Mut*_*r K 5 ethereum quorum

我正在使用 tessera 在 Quorum 中执行私人交易。当从邮递员调用第三方(privateURL)API 时,我得到了预期的输出,但是当从其他服务器调用相同的 API 时,我得到了带有 200 状态代码的空响应(http://:9081/storeraw)。此问题的发生是由于 CORS。我已经检查过:

文件:///< HTML_PATH >

它正在发挥作用。

如何为 tessera 第三方 API 启用 CORS?

Jit*_*lla 2

目前,tessera 中尚未实现此功能。我已经在工作了,完成后我会回复你。要启用 CORS,请按照以下步骤操作。

  1. 从 git 克隆存储库。
  2. 打开文件 /jaxrs-service/src/main/java/com/quorum/tessera/thridparty/RawTransactionResource.java
  3. 代替

返回 Response.status(Status.OK) .type(APPLICATION_JSON) .entity(response) .build();

return Response.status(Status.OK)
.type(APPLICATION_JSON)
.header("Access-Control-Allow-Origin", "*")
.entity(response)
.build();
Run Code Online (Sandbox Code Playgroud)
  1. 重新编译代码
  2. 启动泰塞拉。

注意:这将允许所有来源,请根据您的安全需要修改代码。这不是一个标准,我正在研究配置更改,这将使您可以自由地启用 CORS 并进行相应的更改。