Class: OmniAuth::Strategies::Wechat
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::Wechat
- Defined in:
- lib/omniauth/strategies/wechat.rb
Instance Method Summary collapse
Instance Method Details
#callback_url ⇒ Object
37 38 39 |
# File 'lib/omniauth/strategies/wechat.rb', line 37 def callback_url full_host + script_name + callback_path + query_string end |
#raw_info ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/omniauth/strategies/wechat.rb', line 46 def raw_info @uid ||= access_token["openid"] @raw_info ||= begin access_token.[:mode] = :query if access_token["scope"] == "snsapi_userinfo" response = access_token.get("/sns/userinfo", :params => {"openid" => @uid}, parse: :text) @raw_info = JSON.parse(response.body.gsub(/[\u0000-\u001f]+/, '')) else @raw_info = {"openid" => @uid } end end end |
#request_phase ⇒ Object
40 41 42 43 44 |
# File 'lib/omniauth/strategies/wechat.rb', line 40 def request_phase params = client.auth_code..merge(redirect_uri: callback_url).merge() params["appid"] = params.delete("client_id") redirect client.(params) end |