Ruby on Rails:如何使用OAuth2 :: AccessToken.post?
OAuth2 :: AccessToken.post()方法在文档中指定如下:
(对象)post(path,opts = {},&block)
我试图传递一些论点,但似乎我做错了:
response = token.post('/oauth/create.js', {:title => "title", :description => "desc"})
参数永远不会达到方法,值始终为零。 那么,使用带有参数的post方法的正确方法是什么? 什么是&块?
我也得到警告:无法validationCSRF令牌的真实性。 这也可能导致问题。 情况是我在应用程序外部使用OAuth api。 OAuth 2通过Doorkeeper gem实现。
更新:在我定义范围后,CSRF警告现在消失了。 此外,我设法通过提供url的一部分来使用带有参数的post()方法:“?title = test&…”。 仍然很高兴知道如何使用此方法记录。
POST或PUT中的主体可通过选项主体参数访问。 没有这方面的文件。 不得不查看oauth客户端代码本身来发现这个:
你的例子,正确的身体将是:
response = token.post('/oauth/create.js', {body: {:title => "title", :description => "desc"}})
您可以使用块传递参数以发布请求:
token.post('/oauth/create.js') do |request| request.params['title'] = "something" end
OAuth2 gem使用法拉第, request
对象是法拉第请求,因此您可能需要检查其他方法来传递参数以及请求
- rails3.2 + rspec + capybara1.0测试设计google-oauth2.0
- Google OAuth 2 redirect_uri_mismatch – OmniAuth Rails应用
- 在rails + doorkeeper中使用grant_type = password在访问令牌请求中强制设置client_id和secret
- 我应该如何存储Twitter令牌,以便用户不必每次都去twitter_oauth?
- 处理Oauth 2.0-facebook gem error 100:已使用此授权码
- 从Rails调用Uber API:{“error”:“invalid_client”}
- OAuth2与intridearubygem
- Google OAuth访问令牌
- 服务器不会开始使用authlogic-oauth2