2011-09-25 37 views
0

据我可以得到Gowalla的授权码响应包含两个expires_atexpires_in但 expires_at所以它抛出错误,而比较日期
任何想法破解是无效的日期字符串omn​​iauth或gowalla策略将非常受欢迎!omniauth Gowalla的战略错误:与Bignum的字符串比较失败

轨3.0.9 红宝石1.9.2

comparison of String with Bignum failed 
oauth2 (0.5.0) lib/oauth2/access_token.rb:72:in `<' 
oauth2 (0.5.0) lib/oauth2/access_token.rb:72:in `expired?' 
oa-oauth (0.3.0) lib/omniauth/strategies/oauth2.rb:67:in `callback_phase' 


{ 
"scope":"read", 
"expires_at":"Sun, 09 Oct 2011 12:47:37 -0000", 
"username":"altuure", 
"expires_in":1172767, 
"refresh_token":"XX", 
"access_token":"XX" 
} 
+0

遗憾的延迟,但我COMMITED补丁到GitHub上,你可以在这里找到HTTPS的细节:// github上.COM/intridea/omniauth /问题/ 485 – altuure

回答

0

你为什么不只是使用,你可以不管。 expires_in似乎是一个区间,所以你可以做:

expires_at = Time.now + json["expires_in"].to_i 

这就是说,对于expires_at日期字符串在1.9.2-P290绝对解析(使用DateTime.parse(str))。总有DateTime.strptime如果你需要根据给定的格式来解析日期/时间字符串。