Skip to content

Commit 5be1d79

Browse files
committed
Avoid iterating the RSA_OPT_PARAMS twice
1 parent 3b11042 commit 5be1d79

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lib/jwt/jwk/rsa.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,10 @@ def create_rsa_key_using_accessors(rsa_parameters) # rubocop:disable Metrics/Abc
168168
end
169169

170170
def validate_rsa_parameters!(rsa_parameters)
171-
return unless rsa_parameters[:d]
171+
return unless rsa_parameters.key?(:d)
172172

173-
return if RSA_OPT_PARAMS.all? { |k| rsa_parameters.keys.include?(k) }
174-
return if RSA_OPT_PARAMS.none? { |k| rsa_parameters.keys.include?(k) }
173+
parameters = RSA_OPT_PARAMS - rsa_parameters.keys
174+
return if parameters.empty? || parameters.size == RSA_OPT_PARAMS.size
175175

176176
raise JWT::JWKError, 'When one of p, q, dp, dq or qi is given all the other optimization parameters also needs to be defined' # https://www.rfc-editor.org/rfc/rfc7518.html#section-6.3.2
177177
end

0 commit comments

Comments
 (0)