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