Oauth 1.0a没有玩Play! 2.5.3 / Scala

时间:2016-06-09 13:35:42

标签: scala oauth playframework quickbooks-online intuit

播放! 2.5.3 / Scala Windows 10(也在Mac OS和Linux上测试过)

我正在为我的Play构建OAuth 1.0a功能!应用程序(成熟的2岁以上应用程序)和QuickBooks Online。我已经成功构建了第一个验证并返回有效令牌的部分。秘密,然后我存储在我的数据库中。

我遇到的问题是当我尝试使用令牌签署API调用时。首先,我知道令牌是好的和有效的,因为在https://www.hurl.it/上测试它会返回预期的数据。但是,当我从Play内部以编程方式调用相同的API时!应用程序,令牌/签名被拒绝(即我收到消息说我必须进行身份验证)。

这是我调用API的代码示例。我的智慧结束了,我已经尝试了所有我能想到的东西......让我们放心地知道在使用投掷时令牌是有效的,但我不能为我的生活找出Play中的问题!

  def testWS = Action.async {
    val HEADERS = List("Accept" -> "application/json, format=json", "Content-Type" -> "application/json", "Accept-Encoding" -> "gzip, deflate")

    val consKey = ConsumerKey("q********************D", "G********************b")
    val reqToken = RequestToken("q********************t", "d********************7")
    val oauthCalc = OAuthCalculator(consKey, reqToken)

    ws.url("https://appcenter.intuit.com/api/v1/connection/reconnect")
    //.withHeaders(HEADERS: _*)
    .sign(oauthCalc)
    .get
    .map{ resp => Ok(resp.body) }
  }

以下是生成的标题的样子: 授权:OAuth oauth_consumer_key =“q ******************** D”,oauth_token =“q **************** **** H“,oauth_signature_method =”HMAC-SHA1“,oauth_signature =”zt34J%2BubLgpT%2FdTG8bXj2SWdRRE%3D“,oauth_timestamp =”1465414901“,oauth_nonce =”YIiN2lxGnNMhDs9pF3HlBQ%3D%3D“,oauth_version =”1.0“ 连接:保持活力 主持人:localhost:9000 接受: / 用户代理:AHC / 1.0

0 个答案:

没有答案