【问题标题】:Magento REST API signature invalidMagento REST API 签名无效
【发布时间】:2016-11-21 05:29:32
【问题描述】:

通过 Magento OAuth API,我设法获得了 access_token 和 access_token_secret。 获取这些的调用需要有效的签名。由于我使用的是 plainOAuth 库,并且我能够签署有效的授权请求,我怀疑库不是问题。

问题: 一旦我使用令牌和消费者令牌进行 REST 调用“test.magentohost.com/api/rest/products”,我得到响应无效签名。 sig 通过库使用消费者/访问令牌秘密进行签名,并且(我认为)所有参数都在标头中。 我希望任何人都能在我的标题中看到一个错误,这让我发疯了!

这是我的“授权”标题。

oauth_realm="", 
oauth_timestamp="1340011522", 
oauth_nonce="ff5c167677069d9770d5cfc1dba12e0fc1d924f9", 
oauth_signature_method="HMAC-SHA1",
oauth_consumer_key="ic88q1nq0iitd9tmowz6bs3dzg2d07ng", 
oauth_version="1.0", 
oauth_token="uye05e0pb0f8dap1ovglecxoq6ziee35",
oauth_signature="G%2Frl7S%2Bw57pjCk8xk1DMpOLkjxI%3D"

【问题讨论】:

    标签: rest magento oauth signature


    【解决方案1】:

    我认为 Magento Core 内部存在错误。我刚刚在这里提交了一个错误报告:http://www.magentocommerce.com/bug-tracking/issue?issue=14307(不幸的是,您必须登录 magento 站点才能看到它)。

    基本上它们在计算服务器签名时包括客户端签名,然后比较它们总是失败。

    请告诉我你是如何解决这个问题的?

    【讨论】:

      【解决方案2】:

      我遇到了这个问题,在完成这些步骤后我得到了工作版本。但在此之前,示例请求令牌签名

      POST&http%3A%2F%2Fmagento.test.com%2Foauth%2Ftoken%2Frequest%2F&oauth_consumer_key%3Duaa3romggcur5yrjjm85ydiunfxfyuxx%26oauth_nonce%3D1479663271%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1479663271%26oauth_version%3D1.0
      
      • 请注意,在方法和 url 以及其他参数之间,它们使用 & 而不应用 urlencode。我认为这是用于使用参数拆分参数。
      • 在请求令牌期间,我们不应将 oauth_token 放入参数中。
      • 所有参数必须按字母顺序排序,字符必须使用urlencode等函数进行转义:

        这个

        http%3A%2F%2Fmagento.test.com%2Foauth%2Ftoken%2Frequest%2F

        改为:

        http://magento.test.com/oauth/token/request

        还有这个

        oauth_consumer_key%3Duaa3romggcur5yrjjm85ydiunfxfyuxx%26oauth_nonce%3D1479663271%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1479663271%26oauth_version%3D1.0

        而不是这个

        oauth_consumer_key=uaa3romggcur5yrjjm85ydiunfxfyuxx&oauth_nonce=1479663271&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1479663271&oauth_version=1.0

      【讨论】:

        猜你喜欢
        • 2013-01-16
        • 1970-01-01
        • 1970-01-01
        • 2017-06-16
        • 1970-01-01
        • 2018-10-07
        • 1970-01-01
        • 1970-01-01
        • 2016-10-18
        相关资源
        最近更新 更多