about summary refs log tree commit diff
path: root/app/controllers/concerns/signature_verification.rb
diff options
context:
space:
mode:
authorpluralcafe-docker <git@plural.cafe>2018-11-27 00:54:40 +0000
committerpluralcafe-docker <git@plural.cafe>2018-11-27 00:54:40 +0000
commit384a602fd4117a73338542c59985f54acf5fb3f8 (patch)
tree2885959ad124784985daa7709cd645a5a8802a07 /app/controllers/concerns/signature_verification.rb
parent72444f73ef4e04118f9c66b965c3c903cff8ef37 (diff)
parent6b6e633c095485f95350c4308a942192e5fe8806 (diff)
Merge branch 'glitch'
Diffstat (limited to 'app/controllers/concerns/signature_verification.rb')
-rw-r--r--app/controllers/concerns/signature_verification.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/controllers/concerns/signature_verification.rb b/app/controllers/concerns/signature_verification.rb
index e5d5e2ca6..7e491641b 100644
--- a/app/controllers/concerns/signature_verification.rb
+++ b/app/controllers/concerns/signature_verification.rb
@@ -43,7 +43,12 @@ module SignatureVerification
       return
     end
 
-    account = account_from_key_id(signature_params['keyId'])
+    account_stoplight = Stoplight("source:#{request.ip}") { account_from_key_id(signature_params['keyId']) }
+      .with_fallback { nil }
+      .with_threshold(1)
+      .with_cool_off_time(5.minutes.seconds)
+
+    account = account_stoplight.run
 
     if account.nil?
       @signature_verification_failure_reason = "Public key not found for key #{signature_params['keyId']}"