Class: Hanko::WebhookVerifier
- Inherits:
-
Object
- Object
- Hanko::WebhookVerifier
- Defined in:
- lib/hanko/webhook_verifier.rb
Overview
Verifies Hanko webhook JWT tokens against a remote JWKS endpoint.
Constant Summary collapse
- ALGORITHM =
'RS256'
Class Method Summary collapse
-
.verify(token, jwks_url:) ⇒ Hash
Decodes and verifies a JWT token using keys from the given JWKS URL.
Class Method Details
.verify(token, jwks_url:) ⇒ Hash
Decodes and verifies a JWT token using keys from the given JWKS URL.
23 24 25 26 27 28 29 30 31 |
# File 'lib/hanko/webhook_verifier.rb', line 23 def self.verify(token, jwks_url:) jwks = fetch_jwks(jwks_url) decoded = JWT.decode(token, nil, true, algorithms: [ALGORITHM], jwks: jwks) decoded.first rescue JWT::ExpiredSignature => e raise ExpiredTokenError, e. rescue JWT::DecodeError => e raise InvalidTokenError, e. end |