omniauth-geekpark 1.0.5 → 1.2.0

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.
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.