据我所知,gowalla auth代码响应包含expires_at
和expires_in
但是
expires_at不是有效的日期字符串,因此在比较日期时会抛出错误
任何破解omniauth或gowalla策略的想法都会非常受欢迎!!!
rails 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 :(得分:0)
为什么不尽你所能。 expires_in
似乎是一个间隔,所以你可以这样做:
expires_at = Time.now + json["expires_in"].to_i
也就是说,expires_at
的日期字符串肯定在1.9.2-p290中解析(使用DateTime.parse(str)
)。如果您需要根据给定格式解析日期/时间字符串,则始终为DateTime.strptime
。
答案 1 :(得分:0)
抱歉延迟但是我将补丁提交给github你可以在这里找到详细信息http://github.com/intridea/omniauth/issues/485 -