Class: OmniAuth::Strategies::WeChat

Inherits:
OAuth2
  • Object
show all
Defined in:
lib/omniauth/strategies/wechat.rb

Instance Method Summary collapse

Instance Method Details

#authorize_paramsObject



17
18
19
20
21
22
# File 'lib/omniauth/strategies/wechat.rb', line 17

def authorize_params
  params = super
  params[:state]=request.params['state']
  session['omniauth.state'] = params[:state]
  params.merge({:appid=>options.client_id})
end

#raw_infoObject



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/omniauth/strategies/wechat.rb', line 49

def raw_info
  @raw_info ||= begin
    client.request(:get, "https://api.weixin.qq.com/sns/userinfo", :params => {
        :format => :json,
        :openid => uid,
        :oauth_consumer_key => options[:client_id],
        :access_token => access_token.token,
        :lang =>'zh-CN'
      }, :parse => :json).parsed
  end
end

#request_phaseObject



14
15
16
# File 'lib/omniauth/strategies/wechat.rb', line 14

def request_phase
  redirect client.auth_code.authorize_url({:redirect_uri => callback_url}.merge(authorize_params))+'#wechat_redirect'
end

#token_paramsObject



24
25
26
27
# File 'lib/omniauth/strategies/wechat.rb', line 24

def token_params
  params = super
  params.merge({:appid=>options.client_id,:secret=>options.client_secret})
end