繁体   English   中英

使用Yammer Api时返回的OAuth签名无效

[英]Invalid OAuth Signature returned while using Yammer Api

我正在尝试编写一个从Yammer中提取数据的小型webapp。 我必须通过Yammer的OAuth桥来访问他们的数据。 我尝试使用Oauth php库并进行3次握手。 但是在最后一步,我收到一条错误消息,指出我的OAuth签名无效。

以下是一系列步骤:

  1. 第一部分涉及获取请求令牌URL,这些是我传递的查询参数。

      [oauth_version] => 1.0 [oauth_nonce] => 4e495b6a5864f5a0a51fecbca9bf3c4b [oauth_timestamp] => 1256105827 [oauth_consumer_key] => my_consumer_key [oauth_signature_method] => HMAC-SHA1 [oauth_signature] => FML2eacPNH6HIGxJXnhwQUHPeOY= 
  2. 完成此步骤后,我将获得请求令牌,如下所示:

    [oauth_token] => 6aMcbRK5wMqHgZQsdfsd [oauth_token_secret] => ro8AJxZ67sUDoiOTk8sl4V3js0uyof1uPJVB14asdfs [oauth_callback_confirmed] => true

  3. 然后我尝试通过将参数传递给授权URL来授权给定的令牌和令牌秘密。它将我带到Yammer的身份验证页面,我允许我的应用程序与Yammer交谈。

  4. 然后Yammer给了我一个4位数的代码,我必须将其放回我的应用程序,然后尝试获取永久访问令牌。 我将以下信息传递给访问令牌URL:

      [oauth_version] => 1.0 [oauth_nonce] => 52b22495ecd9eba277c1ce6b97b00fdc [oauth_timestamp] => 1256106815 [oauth_consumer_key] => myconsumerkey [callback_token] => 61A7 [oauth_token] => 6aMcbRK5wMqHgZQsdfsd [oauth_token_secret] => ro8AJxZ67sUDoiOTk8sl4V3js0uyof1uPJVB14asdfs [oauth_callback_confirmed] => true [oauth_signature_method] => HMAC-SHA1 [oauth_signature] => V9YcMDq2rP7OiZTK1k5kb/otMzA= 
  5. 在这里,我应该收到Oauth永久访问令牌,但我得到一个无效的Oauth签名 我不知道我做错了什么。 我使用相同的签名来签署请求。 我应该使用新令牌和密码签署请求吗? 我也尝试过,但无济于事。 我甚至尝试使用路标库在java中实现这个并且卡在完全相同的位置。 帮助帮助!!

callback_token是Yammer在今年早些时候回应OAuth安全公告时所介绍的。 当OAuth 1.0a发布时,它被命名为oauth_verifier 但是,Yammer仍然不支持他们的解决方法,但重命名并重新确认。

此外,以下是昨天Yammer开发网络的信息:

明天我们将发布对Yammer API的一些更改,以促进API客户端上的用户网络切换。 大多数更改都在OAuth访问令牌调用中,允许您为给定用户生成预授权的OAuth访问令牌。 将为它们所在的每个网络生成一个令牌,并且您的客户端通过发送使用该网络的相应令牌签名的API请求来切换网络。

我假设Yammer OAuth库可能需要根据此更改进行更新。 我还没有看过它。

编辑:我的python-yammer-oauth库仍然有效,尽管Yammer改变了他们的一面。

Edit2:你能尝试使用签名方法PLAINTEXT而不是HMAC-SHA1吗? 我遇到了Yammer和HMAC-SHA1的问题。

我尝试使用PLAINTEXT ..但是对于这种方法,即使是请求令牌,它也会给我相同的“无效OAuth签名”错误。

那么是否可以生成访问令牌,我们使用HMAC-SHA1并访问实际的API方法,即发布消息..我们使用PLAINTEXT?

刚发现问题!

我忘了在CONSUMER_SECRET的末尾添加一个&符号(“&”)。 也许这也是你的问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM