class Rpush::Daemon::Apnsp8::Token
Public Class Methods
new(app)
click to toggle source
# File lib/rpush/daemon/apnsp8/token.rb, line 6 def initialize(app) @app = app end
Public Instance Methods
token()
click to toggle source
# File lib/rpush/daemon/apnsp8/token.rb, line 10 def token if @cached_token && !expired_token? @cached_token else new_token end end
Private Instance Methods
expired_token?()
click to toggle source
# File lib/rpush/daemon/apnsp8/token.rb, line 37 def expired_token? Time.now - @cached_token_at >= TOKEN_TTL end
new_token()
click to toggle source
# File lib/rpush/daemon/apnsp8/token.rb, line 20 def new_token @cached_token_at = Time.now ec_key = OpenSSL::PKey::EC.new(@app.apn_key) @cached_token = JWT.encode( { iss: @app.team_id, iat: Time.now.to_i }, ec_key, 'ES256', { alg: 'ES256', kid: @app.apn_key_id } ) end