Sha256: 994a6de283be85b3c0f1952319025e0e717ff309b54f57b0804538f692062f8a
Contents?: true
Size: 702 Bytes
Versions: 1
Compression:
Stored size: 702 Bytes
Contents
module MaticJWT class Authenticator TOKEN_TYPE = 'Bearer: '.freeze def initialize(headers) @token = extract_token(headers) end def client_name payload.first['client_name'] end def authenticate_with_secret!(secret) JWT.decode(@token, secret, true, algorithm: ALGORITHM) end private def extract_token(headers) header = headers['Authorization'] validate_header_presence!(header) header.slice(TOKEN_TYPE.length..-1) end def payload JWT.decode(@token, nil, false) end def validate_header_presence!(header) raise(JWT::DecodeError, 'Authorization header is missing') if header.nil? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
matic-jwt-0.2.5 | lib/matic-jwt/authenticator.rb |