OAuth gem get_request_token Net::HTTPFatalError 错误的原因

发布于 2022-09-01 07:37:21 字数 1317 浏览 17 评论 0

使用 OAuth gem - https://rubygems.org/gems/oauth 做 OAuth 操作。

参照官方文档:http://www.rubydoc.info/gems/oauth/ 和 OAuth ruby 例子:http://wiki.openstreetmap.org/wiki/OAuth_ruby_examples 这样做:

ruby@consumer=OAuth::Consumer.new ENV["consumer_key"], 
                          ENV["consumer_secret"], 
                          {:site=>ENV["api_url"]}

@request_token = @consumer.get_request_token

这里能获取 @consumer 里的数据,但执行到 @consumer.get_request_token 时报错:

Net::HTTPFatalError (500 "Internal Server Error"):

查看了 OAuth gem 的源代码:

https://github.com/oauth-xx/oauth-ruby/blob/master/lib/oauth/consumer....

如果不设置 oauth_callback,它将为 OAuth::OUT_OF_BAND

这是上面错误的原因吗?一定要设置 callback 吗?(文档中有这么一句:We need to specify the oauth_callback url explicitly, otherwise it defaults to “oob” (Out of Band)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

狼性发作 2022-09-08 07:37:21

不一定非要给这个 callback 加一个 controller,在返回的重定向 URL 里把你要的东西正则出来就行了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文