class OmniAuth::Strategies::WechatQiye
Public Instance Methods
raw_info()
click to toggle source
# File lib/omniauth/strategies/wechat_qiye.rb, line 50 def raw_info # step 2: get userid via code and access_token @code ||= access_token[:code] # step 3: get user info via userid @uid ||= begin access_token.options[:mode] = :query response = access_token.get('/cgi-bin/user/getuserinfo', :params => {'code' => @code}, parse: :json) response.parsed['UserId'] end @raw_info ||= begin access_token.options[:mode] = :query response = access_token.get('/cgi-bin/user/get', :params => {'userid' => @uid}, parse: :json) response.parsed end end
request_phase()
click to toggle source
# File lib/omniauth/strategies/wechat_qiye.rb, line 44 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/wechat_qiye.rb, line 69 def build_access_token # step 0: wechat respond code code = request.params['code'] # step 1: get access token params = { 'corpid' => client.id, 'corpsecret' => client.secret }.merge(token_params.to_hash(symbolize_keys: true)) client.get_token(params, deep_symbolize(options.auth_token_params.merge({code: code}))) end