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