Module: Waitmate::Ticket
- Defined in:
- lib/waitmate/ticket.rb
Defined Under Namespace
Classes: Result
Constant Summary collapse
- PURPOSE =
"waitmate:ticket"- SALT =
"waitmate ticket v1"- KEY_LENGTH =
32
Class Method Summary collapse
Class Method Details
.issue(queue_name:, session_id:) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/waitmate/ticket.rb', line 27 def issue(queue_name:, session_id:) encryptor.encrypt_and_sign( payload(queue_name, session_id), expires_in: Waitmate.configuration.ticket_ttl, purpose: PURPOSE ) end |
.verify(token:, queue_name:, session_id:) ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/waitmate/ticket.rb', line 35 def verify(token:, queue_name:, session_id:) data = encryptor.decrypt_and_verify(token.to_s, purpose: PURPOSE) return failure(:invalid) unless valid_payload?(data, queue_name, session_id) success rescue ActiveSupport::MessageEncryptor::InvalidMessage failure(:invalid) end |