class AgoraDynamicKey::AccessToken
Constants
- ONE_DAY
- SEED
- VERSION
Attributes
app_certificate[RW]
app_id[RW]
channel_name[RW]
expired_ts[RW]
privilege_expired_ts[RW]
privileges[RW]
salt[RW]
uid[RW]
Public Class Methods
generate!(payload={})
click to toggle source
# File lib/dynamic_key/access_token.rb, line 49 def self.generate! payload={}, &block token = AccessToken.new payload block.call token token.build! end
new(args={})
click to toggle source
# File lib/dynamic_key/access_token.rb, line 20 def initialize args={} @app_id = args[:app_id] @channel_name = args.fetch(:channel_name, "") @app_certificate = args[:app_certificate] @uid = "#{args.fetch(:uid, "")}" @privileges = {} @privilege_expired_ts = args[:privilege_expired_ts] @salt = SecureRandom.rand(SEED) @expired_ts = Time.now.to_i + ONE_DAY end
Public Instance Methods
add_privilege(privilege, ts)
click to toggle source
# File lib/dynamic_key/access_token.rb, line 31 def add_privilege privilege, ts privileges[privilege] = ts end
Also aliased as: grant
build()
click to toggle source
# File lib/dynamic_key/access_token.rb, line 37 def build Sign.encode self end
build!()
click to toggle source
# File lib/dynamic_key/access_token.rb, line 41 def build! Sign.encode! self end
from_string(token)
click to toggle source
# File lib/dynamic_key/access_token.rb, line 45 def from_string token Sign.decode token end