Class: OmniAuth::Strategies::Weibo
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::Weibo
- Defined in:
- lib/omniauth/strategies/weibo.rb
Instance Method Summary collapse
-
#authorize_params ⇒ Object
You can pass
display,with_offical_accountorstateparams to the auth request, if you need to set them dynamically. - #callback_url ⇒ Object
- #find_image ⇒ Object
-
#image_url ⇒ Object
url: option: size: avatar_hd original original_size avatar_large large 180x180 profile_image_url middle 50x50 small 30x30 default is middle.
- #raw_info ⇒ Object
- #token_params_redirect ⇒ Object
Instance Method Details
#authorize_params ⇒ Object
You can pass display, with_offical_account or state params to the auth request, if you need to set them dynamically. You can also set these options in the OmniAuth config :authorize_params option.
/auth/weibo?display=mobile&with_offical_account=1
86 87 88 89 90 91 92 93 94 95 |
# File 'lib/omniauth/strategies/weibo.rb', line 86 def super.tap do |params| %w[display with_offical_account forcelogin state].each do |v| if request.params[v] params[v.to_sym] = request.params[v] end session["omniauth.state"] = params[v.to_sym] if v == 'state' end end end |
#callback_url ⇒ Object
40 41 42 |
# File 'lib/omniauth/strategies/weibo.rb', line 40 def callback_url token_params_redirect || (full_host + script_name + callback_path) end |
#find_image ⇒ Object
55 56 57 |
# File 'lib/omniauth/strategies/weibo.rb', line 55 def find_image raw_info[%w(avatar_hd avatar_large profile_image_url).find { |e| raw_info[e].present? }] end |
#image_url ⇒ Object
url: option: size: avatar_hd original original_size avatar_large large 180x180 profile_image_url middle 50x50
small 30x30
default is middle
65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/omniauth/strategies/weibo.rb', line 65 def image_url image_size = [:image_size] || :middle case image_size.to_sym when :original url = raw_info['avatar_hd'] when :large url = raw_info['avatar_large'] when :small url = raw_info['avatar_large'].sub('/180/','/30/') else url = raw_info['profile_image_url'] end end |
#raw_info ⇒ Object
48 49 50 51 52 53 |
# File 'lib/omniauth/strategies/weibo.rb', line 48 def raw_info access_token.[:mode] = :query access_token.[:param_name] = 'access_token' @uid ||= access_token.get('/2/account/get_uid.json').parsed["uid"] @raw_info ||= access_token.get("/2/users/show.json", :params => {:uid => @uid}).parsed end |
#token_params_redirect ⇒ Object
44 45 46 |
# File 'lib/omniauth/strategies/weibo.rb', line 44 def token_params_redirect token_params['redirect_uri'] || token_params[:redirect_uri] end |