Module: Fediverse::Signature

Defined in:
lib/fediverse/signature.rb,
lib/fediverse/signature/rfc9421.rb,
lib/fediverse/signature/draft_cavage12.rb

Defined Under Namespace

Classes: BadSignature, DraftCavage12, Rfc9421

Class Method Summary collapse

Class Method Details

.sign(sender:, request:, legacy_signature: false) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/fediverse/signature.rb', line 6

def sign(sender:, request:, legacy_signature: false)
  if legacy_signature
    Fediverse::Signature::DraftCavage12.sign(sender: sender, request: request)
  else
    Fediverse::Signature::Rfc9421.sign(sender: sender, request: request)
  end
end

.verify!(request:, require_signature: false) ⇒ Object

rubocop:disable Naming/PredicateMethod

Raises:



14
15
16
17
18
19
20
# File 'lib/fediverse/signature.rb', line 14

def verify!(request:, require_signature: false) # rubocop:disable Naming/PredicateMethod
  success = Fediverse::Signature::Rfc9421.verify!(request: request) ||
            Fediverse::Signature::DraftCavage12.verify!(request: request)
  raise(BadSignature) if require_signature && !success

  true
end