Sha256: 773e861470bf9a9736c272077ca75fdd7b121f02e16634904c23e008328b6899
Contents?: true
Size: 899 Bytes
Versions: 3
Compression:
Stored size: 899 Bytes
Contents
class ServiceTicket class << self def find!(ticket, store) username = store.hget(ticket, :username) service_url = store.hget(ticket, :service_url) if service_url && username store.del ticket new(service_url, username) end end def expire_time 300 end end attr_reader :username, :service_url def initialize(service_url, username) @service_url = service_url @username = username end def valid_for_service?(url) service_url == url end def ticket @ticket ||= "ST-#{rand(100000000000000000)}".to_s end def remaining_time(store) store.ttl ticket end def save!(store) store.pipelined do store.hset ticket, :service_url, self.service_url store.hset ticket, :username, self.username store.expire ticket, self.class.expire_time end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
classy_cas-0.9.3 | lib/service_ticket.rb |
classy_cas-0.9.2 | lib/service_ticket.rb |
classy_cas-0.9.1 | lib/service_ticket.rb |