class OmniAuth::Strategies::OpenWechat

Public Instance Methods

raw_info() click to toggle source
# File lib/omniauth/strategies/open_wechat.rb, line 45
def raw_info
  @uid ||= access_token["openid"]
  access_token.options[:mode] = :query
  access_token.options[:param_name] = 'access_token'
  @raw_info ||= JSON access_token.get("/sns/userinfo", :params => {"openid" => @uid}).parsed
end
request_phase() click to toggle source
# File lib/omniauth/strategies/open_wechat.rb, line 39
def request_phase
  params = client.auth_code.authorize_params.merge(redirect_uri: callback_url).merge(authorize_params)
  params["appid"] = params.delete("client_id")
  redirect client.authorize_url(params)
end

Protected Instance Methods

build_access_token() click to toggle source
# File lib/omniauth/strategies/open_wechat.rb, line 54
def build_access_token
  params = {
      'appid' => client.id,
      'secret' => client.secret,
      'code' => request.params['code'],
      'grant_type' => 'authorization_code',
      :parse => :json
    }
  client.get_token(params)
end