oauth-bwergemn 1.0.2 → 1.0.3

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
2
  SHA256:
3
- metadata.gz: 0e8c19bba150ec8ef5cf5c95e4b19fce2f3da3c2fd537490e86c0b5ad2470775
4
- data.tar.gz: a493d05b12eb0e0e5a2052a3f8612139640d61c54cfae4fa5c771de48a32162e
3
+ metadata.gz: 99e32151695d92c0c2ef047d74d9d719a751781f196049cb7904b0ed837f0bcf
4
+ data.tar.gz: df02811335d7aadd9e0d04bf74c0c171dea51200cb4c9d87dcf7a97a853ba4d0
5
5
  SHA512:
6
- metadata.gz: 66819befed19baf4c71331333e5fe676f39422032008791b214e998658c5d1d2eb505755472ffe5ccb67c1574ab7d494d3e583c83c79bfef0549a9224107d85a
7
- data.tar.gz: 9daba36c76835a321efb791083c98aef30474792f20ae8e2be81f773c2bb8d641d85c3e56f040c51ab964922ff9f474e2a5e7ea22e901cdf5d6a1036088fd77c
6
+ metadata.gz: 681152cb13886f430109c5b4824a5e77807569a65018c4a1e20f3baaa049a1f089030079b305aa94d89dc526008e748ffadc5838f33589539a99895a81a5cb61
7
+ data.tar.gz: 934fa511ac7dcdbaf5cf1f99b7bc0ab909a4b951537c98201011bc9f695865d1449df45cf8bcc30f2fdc6adfbce9986f7a086d3936808a6e4fe0990953cff658
data/.rubocop.yml CHANGED
@@ -730,8 +730,8 @@ Style/CommentedKeyword:
730
730
  Enabled: true
731
731
 
732
732
  Style/ConditionalAssignment:
733
- Enabled: true
734
- EnforcedStyle: assign_to_condition
733
+ Enabled: false
734
+ EnforcedStyle: assign_inside_condition
735
735
  SingleLineConditionsOnly: true
736
736
  IncludeTernaryExpressions: true
737
737
 
@@ -952,7 +952,7 @@ Style/RedundantSortBy:
952
952
  Enabled: true
953
953
 
954
954
  Style/RescueModifier:
955
- Enabled: true
955
+ Enabled: false
956
956
 
957
957
  Style/RescueStandardError:
958
958
  Enabled: true
@@ -13,14 +13,6 @@ module OauthBwergemn
13
13
  @protected_endpoint || false
14
14
  end
15
15
 
16
- def optional_endpoint=(opt)
17
- @optional_endpoint = opt
18
- end
19
-
20
- def optional_endpoint?
21
- @optional_endpoint || false
22
- end
23
-
24
16
  # rubocop:disable Lint/DuplicateMethods
25
17
  def resource_token
26
18
  @_resource_token
@@ -3,46 +3,24 @@
3
3
  module OauthBwergemn
4
4
  module AuthStrategies
5
5
  class Hub < OauthBwergemn::BaseStrategy
6
- def optional_endpoint?
7
- has_authorizations? && !!optional_oauth2
8
- end
9
-
10
6
  def endpoint_protected?
11
- has_authorizations? && !!authorization_type_oauth2
7
+ !!endpoint_authorizations
12
8
  end
13
9
 
14
10
  def has_auth_scopes?
15
- endpoint_protected? && !authorization_type_oauth2.empty?
16
- rescue
17
- false
11
+ !!endpoint_authorizations &&
12
+ endpoint_authorizations.key?(:scopes) &&
13
+ !endpoint_authorizations[:scopes].empty?
18
14
  end
19
15
 
20
16
  def auth_scopes
21
- if optional_endpoint?
22
- optional_oauth2.map { |s| s.is_a?(String) || s.is_a?(Symbol) ? s.to_sym : s }
23
- else
24
- authorization_type_oauth2.map { |s| s.is_a?(String) || s.is_a?(Symbol) ? s.to_sym : s }
25
- end
17
+ endpoint_authorizations[:scopes].map { |s| s.is_a?(String) || s.is_a?(Symbol) ? s.to_sym : s }
26
18
  end
27
19
 
28
20
  private
29
21
 
30
- def has_authorizations?
31
- !!endpoint_authorizations
32
- end
33
-
34
22
  def endpoint_authorizations
35
- api_context.options[:route_options][:auth][:scopes]
36
- rescue
37
- nil
38
- end
39
-
40
- def authorization_type_oauth2
41
- endpoint_authorizations
42
- end
43
-
44
- def optional_oauth2
45
- endpoint_authorizations
23
+ api_context.options[:route_options][:auth]
46
24
  end
47
25
  end
48
26
  end
@@ -3,26 +3,22 @@
3
3
  module OauthBwergemn
4
4
  module Extension
5
5
  def oauth2(*scopes)
6
- description = if respond_to?(:route_setting) # >= grape-0.10.0
7
- route_setting(:description) || route_setting(:description, {})
6
+ scopes = Doorkeeper.configuration.default_scopes.all if scopes.all? { |x| x.nil? }
7
+ if respond_to?(:route_setting) # >= grape-0.10.0
8
+ description = route_setting(:description) || route_setting(:description, {})
8
9
  else
9
- @last_description ||= {}
10
+ description = @last_description ||= {}
10
11
  end
11
-
12
+ # case WineBouncer.configuration.auth_strategy
13
+ # when :default
12
14
  description[:auth] = { scopes: scopes }
15
+ # when :swagger
13
16
  description[:authorizations] = { oauth2: scopes.map { |x| { scope: x } } }
17
+ # end
14
18
  end
15
19
 
16
- def optional_oauth2(*scopes)
17
- description = if respond_to?(:route_setting) # >= grape-0.10.0
18
- route_setting(:description) || route_setting(:description, {})
19
- else
20
- @last_description ||= {}
21
- end
22
-
23
- description[:authorizations] = { optional_oauth2: scopes.map { |x| { scope: x } } }
24
- end
25
-
26
- Grape::API.extend self
20
+ # Grape::API::Instance is defined in grape 1.2.0 or above
21
+ grape_api = defined?(Grape::API::Instance) ? Grape::API::Instance : Grape::API
22
+ grape_api.extend self
27
23
  end
28
24
  end
@@ -19,16 +19,16 @@ module OauthBwergemn
19
19
  end
20
20
 
21
21
  def token
22
- token = if request.headers['Authorization'].present?
22
+ if request.headers['Authorization'].present?
23
23
  if request.headers['Authorization'].include?('bearer')
24
- request.headers['Authorization'].try('split', 'bearer').try(:last).try(:strip)
24
+ token = request.headers['Authorization'].try('split', 'bearer').try(:last).try(:strip)
25
25
  elsif request.headers['Authorization'].include?('Bearer')
26
- request.headers['Authorization'].try('split', 'Bearer').try(:last).try(:strip)
26
+ token = request.headers['Authorization'].try('split', 'Bearer').try(:last).try(:strip)
27
27
  else
28
- request.headers['Authorization']
28
+ token = request.headers['Authorization']
29
29
  end
30
30
  else
31
- request.parameters['access_token']
31
+ token = request.parameters['access_token']
32
32
  end
33
33
  token
34
34
  end
@@ -37,14 +37,6 @@ module OauthBwergemn
37
37
  # Authorization control.
38
38
  ############
39
39
 
40
- def endpoint_protected?
41
- auth_strategy.endpoint_protected?
42
- end
43
-
44
- def optional_endpoint?
45
- auth_strategy.optional_endpoint?
46
- end
47
-
48
40
  def args
49
41
  results = {}
50
42
  auth_strategy.auth_scopes.map { |s| (results = results.merge(s)) if s.is_a?(Hash) }
@@ -62,13 +54,9 @@ module OauthBwergemn
62
54
  unless access.present?
63
55
  raise OauthBwergemn::Errors::InvalidToken
64
56
  end
65
- resource = begin
66
- # rubocop:disable Security/Eval
67
- eval(OauthBwergemn.resources[args[:as].to_sym]).find_by(id: access.resource_owner_id)
68
- # rubocop:enable Security/Eval
69
- rescue
70
- nil
71
- end
57
+ # rubocop:disable Security/Eval
58
+ resource = eval(OauthBwergemn.resources[args[:as].to_sym]).find_by(id: access.resource_owner_id) rescue nil
59
+ # rubocop:enable Security/Eval
72
60
  {
73
61
  resource_owner: resource,
74
62
  resource_credential: {
@@ -92,25 +80,16 @@ module OauthBwergemn
92
80
  context.extend(OauthBwergemn::AuthMethods)
93
81
 
94
82
  context.protected_endpoint = endpoint_protected?
95
- context.optional_endpoint = optional_endpoint?
96
83
 
97
- return unless context.protected_endpoint? || context.optional_endpoint?
84
+ return unless context.protected_endpoint?
98
85
 
99
86
  self.the_request = env
100
87
 
101
- if token.present? && (context.protected_endpoint? || context.optional_endpoint?)
102
- response = authorize!
103
- context.resource_token = token
104
- context.resource_owner = begin
105
- response[:resource_owner]
106
- rescue
107
- nil
108
- end
109
- context.resource_credentials = begin
110
- response[:resource_credentials]
111
- rescue
112
- nil
113
- end
88
+ if token.present? && context.protected_endpoint?
89
+ response = authorize!
90
+ context.resource_token = token
91
+ context.resource_owner = response[:resource_owner] rescue nil
92
+ context.resource_credentials = response[:resource_credentials] rescue nil
114
93
  elsif token.nil? && context.protected_endpoint?
115
94
  raise OauthBwergemn::Errors::InvalidToken
116
95
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OauthBwergemn
4
- VERSION = '1.0.2'
4
+ VERSION = '1.0.3'
5
5
  public_constant :VERSION
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth-bwergemn
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alam Ybs
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-11 00:00:00.000000000 Z
11
+ date: 2020-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler