diff --git a/lib/jwt/verify.rb b/lib/jwt/verify.rb index 5cc21002..0f10a7c3 100644 --- a/lib/jwt/verify.rb +++ b/lib/jwt/verify.rb @@ -26,13 +26,13 @@ def verify_aud raise( JWT::InvalidAudError, 'Invalid audience' - ) unless @payload['aud'].include?(aud) + ) unless @payload['aud'].include?(aud.to_s) end else raise( JWT::InvalidAudError, 'Invalid audience' - ) unless @payload['aud'].include?(options_aud) + ) unless @payload['aud'].include?(options_aud.to_s) end else raise( diff --git a/lib/jwt/version.rb b/lib/jwt/version.rb index ef680527..3931aa88 100644 --- a/lib/jwt/version.rb +++ b/lib/jwt/version.rb @@ -13,7 +13,7 @@ module VERSION # minor version MINOR = 5 # tiny version - TINY = 5 + TINY = 6 # alpha, beta, etc. tag PRE = nil diff --git a/spec/jwt/verify_spec.rb b/spec/jwt/verify_spec.rb index c62d1519..9b8e1d39 100644 --- a/spec/jwt/verify_spec.rb +++ b/spec/jwt/verify_spec.rb @@ -46,6 +46,19 @@ module JWT it 'must allow an array with any value matching the one in the options with a string options key' do Verify.verify_aud(array_payload, options.merge('aud' => array_aud.first)) end + + it 'should allow strings or symbolds in options array' do + options['aud'] = [ + 'ruby-jwt-aud', + 'test-aud', + 'ruby-ruby-ruby', + :test + ] + + array_payload['aud'].push('test') + + Verify.verify_aud(array_payload, options) + end end context '.verify_expiration(payload, options)' do