module Cloudtasker::Authenticator
Manage token generation and verification
Constants
- JWT_ALG
Algorithm used to sign the verification token
Public Instance Methods
config()
click to toggle source
Return the cloudtasker configuration. See Cloudtasker#configure.
@return [Cloudtasker::Config] The library configuration.
# File lib/cloudtasker/authenticator.rb, line 16 def config Cloudtasker.config end
verification_token()
click to toggle source
A Json Web Token (JWT) which will be used by the processor to authenticate the job.
@return [String] The jwt token
# File lib/cloudtasker/authenticator.rb, line 26 def verification_token JWT.encode({ iat: Time.now.to_i }, config.secret, JWT_ALG) end
verify(bearer_token)
click to toggle source
Verify a bearer token (jwt token)
@param [String] bearer_token The token to verify.
@return [Boolean] Return true if the token is valid
# File lib/cloudtasker/authenticator.rb, line 37 def verify(bearer_token) JWT.decode(bearer_token, config.secret) rescue JWT::VerificationError, JWT::DecodeError false end
verify!(bearer_token)
click to toggle source
Verify a bearer token and raise a `Cloudtasker::AuthenticationError` if the token is invalid.
@param [String] bearer_token The token to verify.
@return [Boolean] Return true if the token is valid
# File lib/cloudtasker/authenticator.rb, line 51 def verify!(bearer_token) verify(bearer_token) || raise(AuthenticationError) end