issues25489
p31729568 5 years ago
parent d47d37301b
commit 5114ef54e6

@ -22,7 +22,17 @@ module OmniAuth
end
end
uid { raw_info['openid'].to_s }
uid do
@uid ||= begin
access_token.options[:mode] = :query
access_token.options[:param_name] = :access_token
# Response Example: "callback( {\"client_id\":\"11111\",\"openid\":\"000000FFFF\"} );\n"
response = access_token.get('/oauth2.0/me')
matched = response.body.match(/"openid":"(?<openid>\w+)"/)
matched[:openid]
end
end
info do
{
@ -36,17 +46,9 @@ module OmniAuth
{ raw_info: user_info }
end
def raw_info
access_token.options[:mode] = :query
@raw_info ||= begin
res = access_token.get('/oauth2.0/me', parse: :text).parsed
JSON.parse(res.to_s[10..-4])
end
end
def user_info
access_token.options[:mode] = :query
params = { oauth_consumer_key: options.client_id, openid: raw_info['openid'], format: 'json' }
params = { oauth_consumer_key: options.client_id, openid: uid, format: 'json', parse: :json }
@user_info ||= access_token.get('/user/get_user_info', params: params).parsed
end
end

Loading…
Cancel
Save