class AppStoreConnect::Client::Authorization

Constants

ALGORITHM
AUDIENCE
OPTIONS

Public Class Methods

new(options) click to toggle source
# File lib/app_store_connect/client/authorization.rb, line 15
def initialize(options)
  @key_id = options.fetch(:key_id)
  @issuer_id = options.fetch(:issuer_id)
  @private_key = OpenSSL::PKey.read(options.fetch(:private_key))
end

Public Instance Methods

header_fields() click to toggle source
# File lib/app_store_connect/client/authorization.rb, line 29
def header_fields
  { kid: key_id }
end
payload() click to toggle source
# File lib/app_store_connect/client/authorization.rb, line 21
def payload
  {
    exp: Time.now.to_i + 20 * 60,
    iss: issuer_id,
    aud: AUDIENCE
  }
end
token() click to toggle source
# File lib/app_store_connect/client/authorization.rb, line 33
def token
  JWT.encode(payload, private_key, ALGORITHM, header_fields)
end