我正在使用 gem OAuth2与 Google 服务进行通信。我不明白如何实现回调,它接收带有 OAuth 代码的响应以获取访问令牌。当我在callback
方法中设置断点时,它似乎永远不会被调用。
这是我的代码:
路线:
match '/oauth2/callback' => 'reports#callback'
实际重定向网址:
http://localhost/oauth2/callback?code=111111
报告控制器:
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