class CirroIO::Client::JwtAuthentication
Public Instance Methods
call(env)
click to toggle source
# File lib/cirro_io/client/jwt_authentication.rb, line 7 def call(env) private_pem = File.read(CirroIO::Client.configuration.private_key_path) private_key = OpenSSL::PKey::RSA.new(private_pem) payload = { # JWT expiration time (10 minute maximum) exp: Time.now.to_i + (10 * 60), # App client id iss: CirroIO::Client.configuration.app_id, } token = JWT.encode(payload, private_key, 'RS256') env[:request_headers]['Authorization'] = "Bearer #{token}" @app.call(env) end