class ConnectorKit::TokenGenerator
Helper class for generating JWT tokens
Public Class Methods
new(issuer_id, key_id, private_key_file_path)
click to toggle source
# File lib/connector_kit/token_generator.rb, line 7 def initialize(issuer_id, key_id, private_key_file_path) @private_key_file_path = private_key_file_path @custom_headers = { kid: key_id, typ: 'JWT' } @payload = { iss: issuer_id, aud: 'appstoreconnect-v1' } end
Public Instance Methods
generate_token()
click to toggle source
# File lib/connector_kit/token_generator.rb, line 19 def generate_token private_key = File.read(@private_key_file_path) ecdsa_key = OpenSSL::PKey.read(private_key) expiration = Time.now.to_i + 20 * 60 @payload[:exp] = expiration puts "Generated token expires: #{Time.at(expiration)}" JWT.encode(@payload, ecdsa_key, 'ES256', @custom_headers) end