Class: Bollard

Inherits:
Object
  • Object
show all
Defined in:
lib/bollard.rb,
lib/bollard/token.rb,
lib/bollard/version.rb,
lib/bollard/signature.rb

Defined Under Namespace

Classes: Signature, Token

Constant Summary collapse

SignatureVerificationError =
Class.new(RuntimeError)
VERSION =
"2.0.0"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(signing_secret) ⇒ Bollard

Returns a new instance of Bollard.



13
14
15
# File 'lib/bollard.rb', line 13

def initialize(signing_secret)
  @signing_secret = signing_secret
end

Class Method Details

.generate_secret(length: 32) ⇒ Object



8
9
10
# File 'lib/bollard.rb', line 8

def self.generate_secret(length: 32)
  SecureRandom.hex((length / 2.0).ceil)[0...length]
end

Instance Method Details

#generate_token(payload, **args) ⇒ Object



18
19
20
# File 'lib/bollard.rb', line 18

def generate_token(payload, **args)
  Token.generate(payload, signing_secret, **args)
end

#verify_payload(payload, token, **args) ⇒ Object



23
24
25
# File 'lib/bollard.rb', line 23

def verify_payload(payload, token, **args)
  Token.new(token, signing_secret).verify_payload(payload, **args)
end