weibo_2 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/example/.sass-cache/faf9751221db0b5ce76d45351b9591c3bfc59441/screen.sassc +0 -0
- data/example/Gemfile +1 -1
- data/example/config.ru +1 -1
- data/example/example.rb +7 -5
- data/lib/weibo_2/client.rb +4 -1
- data/lib/weibo_2/config.rb +29 -0
- data/lib/weibo_2/strategy/auth_code.rb +3 -1
- data/lib/weibo_2/version.rb +1 -1
- metadata +3 -1
data/example/Gemfile
CHANGED
data/example/config.ru
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
require 'example'
|
1
|
+
require './example.rb'
|
2
2
|
run Sinatra::Application
|
data/example/example.rb
CHANGED
@@ -5,7 +5,11 @@ Bundler.setup
|
|
5
5
|
%w(sinatra haml sass).each { |dependency| require dependency }
|
6
6
|
enable :sessions
|
7
7
|
|
8
|
-
|
8
|
+
WeiboOAuth2::Config.api_key = ENV['KEY']
|
9
|
+
WeiboOAuth2::Config.api_secret = ENV['SECRET']
|
10
|
+
WeiboOAuth2::Config.redirect_uri = ENV['REDIR_URI']
|
11
|
+
|
12
|
+
client = WeiboOAuth2::Client.new
|
9
13
|
|
10
14
|
get '/' do
|
11
15
|
if session[:access_token] && !client.authorized?
|
@@ -18,13 +22,11 @@ get '/' do
|
|
18
22
|
end
|
19
23
|
|
20
24
|
get '/connect' do
|
21
|
-
|
22
|
-
url = client.authorize_url(:redirect_uri => 'http://127.0.0.1:4567/callback')
|
23
|
-
redirect url
|
25
|
+
redirect client.authorize_url
|
24
26
|
end
|
25
27
|
|
26
28
|
get '/callback' do
|
27
|
-
access_token = client.auth_code.get_token(params[:code].to_s
|
29
|
+
access_token = client.auth_code.get_token(params[:code].to_s)
|
28
30
|
session[:uid] = access_token.params["uid"]
|
29
31
|
session[:access_token] = access_token.token
|
30
32
|
session[:expires_at] = access_token.expires_at
|
data/lib/weibo_2/client.rb
CHANGED
@@ -3,7 +3,9 @@ require 'oauth2'
|
|
3
3
|
module WeiboOAuth2
|
4
4
|
class Client < OAuth2::Client
|
5
5
|
|
6
|
-
def initialize(client_id, client_secret, opts={}, &block)
|
6
|
+
def initialize(client_id='', client_secret='', opts={}, &block)
|
7
|
+
client_id = WeiboOAuth2::Config.api_key if client_id.empty?
|
8
|
+
client_secret = WeiboOAuth2::Config.api_secret if client_secret.empty?
|
7
9
|
super
|
8
10
|
@site = "https://api.weibo.com/2/"
|
9
11
|
@options[:authorize_url] = '/oauth2/authorize'
|
@@ -13,6 +15,7 @@ module WeiboOAuth2
|
|
13
15
|
def authorize_url(params=nil)
|
14
16
|
params[:client_id] = @id unless params[:client_id]
|
15
17
|
params[:response_type] = 'code' unless params[:response_type]
|
18
|
+
params[:redirect_uri] = WeiboOAuth2::Config.redirect_uri unless params[:redirect_uri]
|
16
19
|
super
|
17
20
|
end
|
18
21
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module WeiboOAuth2
|
2
|
+
module Config
|
3
|
+
|
4
|
+
def self.api_key=(val)
|
5
|
+
@@api_key = val
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.api_key
|
9
|
+
@@api_key
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.api_secret=(val)
|
13
|
+
@@api_secret = val
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.api_secret
|
17
|
+
@@api_secret
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.redirect_uri=(val)
|
21
|
+
@@redirect_uri = val
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.redirect_uri
|
25
|
+
@@redirect_uri
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -2,7 +2,9 @@ module WeiboOAuth2
|
|
2
2
|
module Strategy
|
3
3
|
class AuthCode < OAuth2::Strategy::AuthCode
|
4
4
|
def get_token(code, params={}, opts={})
|
5
|
-
params = {'grant_type' => 'authorization_code',
|
5
|
+
params = {'grant_type' => 'authorization_code',
|
6
|
+
'code' => code,
|
7
|
+
'redirect_uri' => WeiboOAuth2::Config.redirect_uri.to_s}.merge(client_params).merge(params)
|
6
8
|
@client.get_and_restore_token(params, opts)
|
7
9
|
end
|
8
10
|
end
|
data/lib/weibo_2/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weibo_2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- README.md
|
89
89
|
- Rakefile
|
90
90
|
- example/.sass-cache/80b2331c862c6e430e0af18caf62d12d982610f0/screen.sassc
|
91
|
+
- example/.sass-cache/faf9751221db0b5ce76d45351b9591c3bfc59441/screen.sassc
|
91
92
|
- example/Gemfile
|
92
93
|
- example/config.ru
|
93
94
|
- example/example.rb
|
@@ -115,6 +116,7 @@ files:
|
|
115
116
|
- lib/weibo_2/api/v2/users.rb
|
116
117
|
- lib/weibo_2/base.rb
|
117
118
|
- lib/weibo_2/client.rb
|
119
|
+
- lib/weibo_2/config.rb
|
118
120
|
- lib/weibo_2/oauth.rb
|
119
121
|
- lib/weibo_2/strategy/auth_code.rb
|
120
122
|
- lib/weibo_2/version.rb
|