【问题标题】:REST Response not getting from a particular ip addressREST 响应未从特定 IP 地址获取
【发布时间】:2017-07-19 07:15:18
【问题描述】:

我正在尝试通过访问远程 API 来获得 REST 响应,我正在从本地机器一些其他服务器获得响应,但仅从特定 IP 地址我得到响应 X-Mashery-Error-Code ,值:ERR_403_NOT_AUTHORIZED .

我与服务提供商核实过,他们没有阻止任何 IP 地址。我正在传递一个 Api 密钥和一个使用 sha256 使用共享密钥生成的签名,如下所示。 org.apache.commons.codec.digest.DigestUtils.sha256Hex(apiKey + sharedSecret + System.currentTimeMillis() / 1000);

这可能是什么原因无法从特定 IP 地址运行。

任何帮助将不胜感激。

【问题讨论】:

    标签: ip-restrictions


    【解决方案1】:

    当您的身份验证不正确时,Mashery 会发生 ERR_403_NOT_AUTHORIZED。我的意思是您的密钥/秘密不正确,或者您的 oAuth2 令牌已过期,或者您的 SHA256/MD5 签名不正确。

    Mashery-Error-Code ,Value : ERR_403_NOT_AUTHORIZED 通常不会在 IP 被阻止时发生。

    在这种情况下,我认为问题在于您使用 System.currentTimeMillis() / 1000

    你可以试试Math.round(new java.util.Date().getTime() / 1000)

    org.apache.commons.codec.digest.DigestUtils.sha256Hex("apiKey" + "sharedSecret" + Math.round(new java.util.Date().getTime() / 1000))
    

    如果这不起作用,您能否检查是否还有另一个标头 X-Error-Detail-Header,如果是,它的值是什么?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多