omniauth-geekpark 1.0.5 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5d85ef49526a5e0081670f8db93fde4f426a2d60
4
- data.tar.gz: f31ac87bbb88591241e2814c4388a4433c40d1f8
2
+ SHA256:
3
+ metadata.gz: 9f81bbb0c2f65021e6951349e2f30025dd8222578fdbc5f0d37bb7ef8dbd3e9a
4
+ data.tar.gz: 7ae6ce079f04659872c63059aa488071ce71e3f70b92c14011968e084cdeeb16
5
5
  SHA512:
6
- metadata.gz: 27b0a527fc75555aef50b14db55a287ba2b27627810445c975e200b6b4a50ab62cca12d01a576d4c4ff5970fd4f32581e0432d54a08e29bc286fa4b0db281157
7
- data.tar.gz: 0824aaf3f4cc853e034187bc5b25a4e22094f8bb8156001b1e648f012f58a84a02255213039325f3632b85be99fc36a0c9c1df18b3bab2c5e272c645a7c09ce4
6
+ metadata.gz: 2c7d436d34d26331b56efea5b72422e96c620ca81a7f473e5aa089ed287b7cb239a554e8c68ffd01cd3b5abf3a153a3024033f21fec6ce70f76849adc31d28ae
7
+ data.tar.gz: fe1fac3ff6b8997f35c069146dc1df58201c54a5e2420f10e173404438f11572dccdb8f62334b69deca69c0c8b682b2dc31432824601dbc4f9c8e5914e3e74cc
@@ -19,7 +19,9 @@ module OmniAuth
19
19
  company: raw_info['company'],
20
20
  title: raw_info['title'],
21
21
  bio: raw_info['bio'],
22
- avatar_url: raw_info['avatar_url']
22
+ avatar_url: raw_info['avatar_url'],
23
+ email: raw_info['email'],
24
+ mobile: raw_info['mobile']
23
25
  }
24
26
  end
25
27
 
@@ -0,0 +1,29 @@
1
+ module OmniAuth
2
+ module Strategies
3
+ class Synced < OmniAuth::Strategies::OAuth2
4
+ option :client_options, {
5
+ site: 'https://www.jiqizhixin.com/',
6
+ authorize_url: '/oauth/authorize',
7
+ token_url: '/oauth/token'
8
+ }
9
+
10
+ uid { raw_info['id'] }
11
+
12
+ info do
13
+ {
14
+ nickname: raw_info['name'],
15
+ avatar_url: raw_info['avatar_url'],
16
+ email: raw_info['email'],
17
+ bio: raw_info['bio'],
18
+ pubinfo: raw_info['pubinfo']
19
+ }
20
+ end
21
+
22
+ def raw_info
23
+ @raw_info ||= access_token.get('/api/v3/user').parsed
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ OmniAuth.config.add_camelization 'synced', 'Synced'
@@ -15,7 +15,8 @@ module OmniAuth
15
15
  {
16
16
  nickname: raw_info['nickname'],
17
17
  city: raw_info['city'],
18
- avatar: raw_info['headimgurl']
18
+ avatar: raw_info['headimgurl'],
19
+ openid: access_token['openid']
19
20
  }
20
21
  end
21
22
 
@@ -61,11 +62,12 @@ module OmniAuth
61
62
  end
62
63
 
63
64
  def callback_phase
65
+ # 其它 app 需要获取微信openid 时,将 callbackurl 传入 state 参数
64
66
  if request.params['state'].match(/\Ahttps?:\/\/(.*\.)?geekpark\.net\/.*\z/)
65
- env['omniauth.redirect'] = {
66
- callback_url: request.params['state'],
67
- code: request.params['code']
68
- }
67
+ uri = URI(request.params['state'])
68
+ query = Rack::Utils.parse_nested_query(uri.query).merge(code: request.params['code'])
69
+ uri.query = URI.encode_www_form query
70
+ env['omniauth.redirect'] = uri.to_s
69
71
  call_app!
70
72
  else
71
73
  super
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module GeekPark
3
- VERSION = '1.0.5'
3
+ VERSION = '1.2.0'
4
4
  end
5
5
  end
@@ -6,3 +6,4 @@ require 'omniauth/strategies/geekpark'
6
6
  require 'omniauth/strategies/wechat'
7
7
  require 'omniauth/strategies/wechat_service'
8
8
  require 'omniauth/strategies/weibo'
9
+ require 'omniauth/strategies/synced'
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_dependency 'omniauth', '~> 1.0'
23
- spec.add_dependency 'omniauth-oauth2', '1.3.1'
23
+ spec.add_dependency 'omniauth-oauth2', '~> 1.4'
24
24
  spec.add_development_dependency "bundler", "~> 1.11"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "rspec", "~> 3.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-geekpark
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - HaoYunfei
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2016-05-30 00:00:00.000000000 Z
12
+ date: 2022-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: omniauth
@@ -29,16 +29,16 @@ dependencies:
29
29
  name: omniauth-oauth2
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '='
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 1.3.1
34
+ version: '1.4'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '='
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 1.3.1
41
+ version: '1.4'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bundler
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -120,6 +120,7 @@ files:
120
120
  - lib/omniauth-geekpark/helper.rb
121
121
  - lib/omniauth-geekpark/version.rb
122
122
  - lib/omniauth/strategies/geekpark.rb
123
+ - lib/omniauth/strategies/synced.rb
123
124
  - lib/omniauth/strategies/wechat.rb
124
125
  - lib/omniauth/strategies/wechat_service.rb
125
126
  - lib/omniauth/strategies/weibo.rb
@@ -144,8 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
145
  - !ruby/object:Gem::Version
145
146
  version: '0'
146
147
  requirements: []
147
- rubyforge_project:
148
- rubygems_version: 2.5.1
148
+ rubygems_version: 3.2.2
149
149
  signing_key:
150
150
  specification_version: 4
151
151
  summary: OmniAuth strategies for GeekPark. Includes geekpark, weibo and wechat.