作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 gem OAuth2与 Google 服务进行通信。我不明白如何实现回调,它接收带有 OAuth 代码的响应以获取访问 token 。当我在 callback
方法中设置断点时,它似乎永远不会被调用。
这是我的代码:
路线:
match '/oauth2/callback' => 'reports#callback'
实际重定向的 url:
http://localhost/oauth2/callback?code=111111
报表 Controller :
def new
client = OAuth2::Client.new(ENV['GA_CLIENT_ID'], ENV['GA_SECRET_KEY'], {
:authorize_url => 'https://accounts.google.com/o/oauth2/auth',
:token_url => 'https://accounts.google.com/o/oauth2/token'
})
redirect_to client.auth_code.authorize_url({
:scope => 'https://www.googleapis.com/auth/analytics.readonly',
:redirect_uri => 'http://localhost/oauth2/callback',
:access_type => 'offline'
})
end
def callback
oauth_code = params[:code]
# Create access token with oauth_code
end
最佳答案
Google 服务器正在尝试访问此无效的 URL http://localhost/oauth2/callback?code=111111
。
您需要一个域名才能使用像 OAuth 这样的服务,因为谷歌服务器必须能够通过互联网找到您的计算机。
为了能够在您的开发机器上执行此操作,您应该:
关于ruby-on-rails - 如何为 oauth 回调配置路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16864199/
我是一名优秀的程序员,十分优秀!