Ruby on rails 如何在Rails中发出正确的Oauth2请求?

Ruby on rails 如何在Rails中发出正确的Oauth2请求?,ruby-on-rails,oauth-2.0,clio-api,Ruby On Rails,Oauth 2.0,Clio Api,我正在使用RubyonRails获取一个令牌,并使用OAuth2forApp。因此,我安装了以下gem: gem 'oauth2' 这是我的代码: client = OAuth2::Client.new(CLIENT_KEY_CLIO, CLIENT_SECRET_CLIO, site: SITE) token = client.auth_code.get_token(code, :redirect_uri => 'http://127.0.0.1/approval') return t

我正在使用RubyonRails获取一个令牌,并使用OAuth2forApp。因此,我安装了以下gem:

gem 'oauth2'
这是我的代码:

client = OAuth2::Client.new(CLIENT_KEY_CLIO, CLIENT_SECRET_CLIO, site: SITE)
token = client.auth_code.get_token(code, :redirect_uri => 'http://127.0.0.1/approval')
return token
其中变量
code
由前端发送。并且是当用户登录他的clio帐户时clio应用程序发送的代码。 但是重定向uri URL不存在。但是,我创建了它,它所做的唯一事情就是获取代码参数并返回它

但是,它仍然不起作用。根据文档,我可以将默认URL设置为
https://app.clio.com/oauth/approval
但它也不起作用。我总是有这样的错误:

{
  "error": "invalid_grant",
  "error_description": "The provided access grant is invalid, expired, or revoked (e.g. invalid assertion, expired authorization token, bad end-user password credentials, or mismatching authorization code and redirection URI)."
}
我记得这个错误以前发生过。但当重定向uri值更改时,问题就解决了


重定向uri有什么问题?有人能给我提供一个Oauth2请求的例子吗?

似乎它应该在其他线程中工作。将端口添加到您的calback url或您的应用程序正在运行的端口

redirect\u uri
中,我需要生成
code
变量的URL。因此,如果
http://127.0.0.1/approval
存在,可通过internet访问,但无法生成代码,因此无法工作。但是如果我输入了生成代码的正确url,那么它就可以正常工作了

client = OAuth2::Client.new(CLIENT_KEY_CLIO, CLIENT_SECRET_CLIO, site: SITE)
token = client.auth_code.get_token(code, :redirect_uri => 'http://address_generate_code_from_frontend')
return token

静态IP可能是一个简单的URL,什么都不做?