omniauth-tqq-oauth2 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  module Omniauth
2
2
  module Tqq
3
3
  module Oauth2
4
- VERSION = "0.0.3"
4
+ VERSION = "0.0.4"
5
5
  end
6
6
  end
7
7
  end
@@ -23,13 +23,17 @@ module OmniAuth
23
23
  # or as a URI parameter). This may not be possible with all
24
24
  # providers.
25
25
  uid {
26
- access_token["openid"]
26
+ raw_info["name"]
27
27
  }
28
28
 
29
29
  info do
30
30
  {
31
- :name => raw_info['name'],
32
- :email => raw_info['email']
31
+ :name => raw_info['name'],
32
+ :nickname => raw_info['nick'],
33
+ :email => raw_info['email'],
34
+ :location => raw_info['location'],
35
+ :image => raw_info['head'],
36
+ :description => raw_info['introduction']
33
37
  }
34
38
  end
35
39
 
@@ -49,30 +53,12 @@ module OmniAuth
49
53
  hash
50
54
  end
51
55
 
52
- def build_access_token
53
- verifier = request.params['code']
54
- @ac_token ||= client.auth_code.get_token(verifier, {:redirect_uri => callback_url}.merge(token_params.to_hash(:symbolize_keys => true)))
55
- end
56
-
57
56
  def callback_phase
58
- if request.params['error'] || request.params['error_reason']
59
- raise CallbackError.new(request.params['error'], request.params['error_description'] || request.params['error_reason'], request.params['error_uri'])
60
- end
61
-
62
- self.access_token = build_access_token
63
- self.access_token = access_token.refresh! if access_token.expired?
57
+ # 伪造防csrf的state,腾讯微博NMMP
58
+ request.params['state'] = session['omniauth.state']
64
59
  @openid = request.params["openid"]
65
60
  @openkey = request.params["openkey"]
66
-
67
61
  super
68
- rescue ::OAuth2::Error, CallbackError => e
69
- fail!(:invalid_credentials, e)
70
- rescue ::MultiJson::DecodeError => e
71
- fail!(:invalid_response, e)
72
- rescue ::Timeout::Error, ::Errno::ETIMEDOUT => e
73
- fail!(:timeout, e)
74
- rescue ::SocketError => e
75
- fail!(:failed_to_connect, e)
76
62
  end
77
63
 
78
64
  def raw_info
@@ -81,7 +67,7 @@ module OmniAuth
81
67
  oauth_consumer_key: access_token.client.id,
82
68
  access_token: access_token.token,
83
69
  oauth_version: '2.a'
84
- }, parse: :json).parsed
70
+ }, parse: :json).parsed["data"]
85
71
  end
86
72
  end
87
73
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-tqq-oauth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-12 00:00:00.000000000 Z
12
+ date: 2012-07-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: omniauth
16
- requirement: &70317549194380 !ruby/object:Gem::Requirement
16
+ requirement: &70240404745360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70317549194380
24
+ version_requirements: *70240404745360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: omniauth-oauth2
27
- requirement: &70317549193840 !ruby/object:Gem::Requirement
27
+ requirement: &70240404761100 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '1.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70317549193840
35
+ version_requirements: *70240404761100
36
36
  description: OmniAuth Oauth2 strategy for t.qq.com.
37
37
  email:
38
38
  - cqpanxu@gmail.com