Class: OmniAuth::Strategies::Weibo

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

Instance Method Summary collapse

Instance Method Details

#authorize_paramsObject

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



82
83
84
85
86
87
88
89
90
91
# File 'lib/omniauth/strategies/weibo.rb', line 82

def authorize_params
  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_urlObject



40
41
42
# File 'lib/omniauth/strategies/weibo.rb', line 40

def callback_url
  full_host + script_name + callback_path
end

#find_imageObject



51
52
53
# File 'lib/omniauth/strategies/weibo.rb', line 51

def find_image
  raw_info[%w(avatar_hd avatar_large profile_image_url).find { |e| raw_info[e].present? }]
end

#image_urlObject

url: option: size: avatar_hd original original_size avatar_large large 180x180 profile_image_url middle 50x50

small     30x30

default is middle



61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/omniauth/strategies/weibo.rb', line 61

def image_url
  image_size = options[: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_infoObject



44
45
46
47
48
49
# File 'lib/omniauth/strategies/weibo.rb', line 44

def raw_info
  access_token.options[:mode] = :query
  access_token.options[: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