Sha256: b93247e9d8390ee6f7615ee62f3f1d89f3238d27aec483f74f9756c1ce14b4cd
Contents?: true
Size: 711 Bytes
Versions: 3
Compression:
Stored size: 711 Bytes
Contents
module Rpush module Daemon module Apnsp8 TOKEN_TTL = 30 * 60 class Token def initialize(app) @app = app end def token if @cached_token && !expired_token? @cached_token else new_token end end private 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 def expired_token? Time.now - @cached_token_at >= TOKEN_TTL end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rpush-3.2.2 | lib/rpush/daemon/apnsp8/token.rb |
rpush-3.2.1 | lib/rpush/daemon/apnsp8/token.rb |
rpush-3.2.0 | lib/rpush/daemon/apnsp8/token.rb |