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"]
  @raw_info ||= begin
    access_token.options[:mode] = :query
    if access_token["scope"] && access_token["scope"].include?("snsapi_login")
      @raw_info = access_token.get("/sns/userinfo", :params => {"openid" => @uid}, parse: :json).parsed
    else
      @raw_info = {"openid" => @uid }
    end
  end
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 58
def build_access_token
  params = {
    'appid' => client.id, 
    'secret' => client.secret,
    'code' => request.params['code'],
    'grant_type' => 'authorization_code' 
    }.merge(token_params.to_hash(symbolize_keys: true))
  client.get_token(params, deep_symbolize(options.auth_token_params))
end