2
我正在构建一个Web应用程序,需要使用Oauth2访问用户gmail。我注册了我的应用程序,可以获取最初的代码,但无法弄清楚如何获取访问令牌并在之后刷新代码。Rails:Google OAUTH2,正确发送邮件请求
首先,用户被发送到一个安全的谷歌页面,把用户名/密码。随后,谷歌将用户重定向到这样的:
127.0.0.1/oauth2callback?code=4/ux5gNj-_mIu4DOD_gNZdjX9E
我有下面这个方法来处理重定向。该代码与其他信息一起发送回Google,以换取访问令牌和刷新代码。不幸的是,底部的反应有空白的身体。我究竟做错了什么?我需要调用另一个函数来获取访问令牌吗?
def oauth2callback
require "uri"
require "net/http"
uri = URI.parse("https://accounts.google.com/o/oauth2/token")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(
{'code'=>params[:code],
'client_id' => CLIENT_ID,
'client_secret' => CLIENT_SECRET,
'redirect_uri' => '127.0.0.1:3000/oauth2callback',
'grant_type' => 'authorization_code'})
http.use_ssl = true
response = http.request(request)
#response.body() is blank
end