diff --git a/app/libs/omniauth/strategies/qq.rb b/app/libs/omniauth/strategies/qq.rb index 885970bad..7940b9cee 100644 --- a/app/libs/omniauth/strategies/qq.rb +++ b/app/libs/omniauth/strategies/qq.rb @@ -6,6 +6,7 @@ module OmniAuth authorize_url: '/oauth2.0/authorize', token_url: '/oauth2.0/token' } + option :token_params, { parse: :query } def request_phase super @@ -38,8 +39,8 @@ module OmniAuth def raw_info access_token.options[:mode] = :query @raw_info ||= begin - res = access_token.get('/oauth2.0/me') - JSON.parse(res.body.to_s[10..-4]) + res = access_token.get('/oauth2.0/me', parse: :text).parsed + JSON.parse(res.to_s[10..-4]) end end