class JWT::Claims::Audience
The Audience
class is responsible for validating the audience claim ('aud') in a JWT
token.
Attributes
expected_audience[R]
Public Class Methods
new(expected_audience:)
click to toggle source
Initializes a new Audience
instance.
@param expected_audience
[String, Array<String>] the expected audience(s) for the JWT
token.
# File lib/jwt/claims/audience.rb, line 10 def initialize(expected_audience:) @expected_audience = expected_audience end
Public Instance Methods
verify!(context:, **_args)
click to toggle source
Verifies the audience claim ('aud') in the JWT
token.
@param context [Object] the context containing the JWT
payload. @param _args [Hash] additional arguments (not used). @raise [JWT::InvalidAudError] if the audience claim is invalid. @return [nil]
# File lib/jwt/claims/audience.rb, line 20 def verify!(context:, **_args) aud = context.payload['aud'] raise JWT::InvalidAudError, "Invalid audience. Expected #{expected_audience}, received #{aud || '<none>'}" if ([*aud] & [*expected_audience]).empty? end