From 77e2fe579296b9a085b68ca57166ab9a856ef324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Tue, 16 Apr 2024 19:10:48 +0200 Subject: [PATCH] Add helper method for parsing nostr event tags --- app/services/nostr_manager/verify_auth.rb | 5 +++-- app/services/nostr_manager_service.rb | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/services/nostr_manager/verify_auth.rb b/app/services/nostr_manager/verify_auth.rb index fdcef2d..481b1ce 100644 --- a/app/services/nostr_manager/verify_auth.rb +++ b/app/services/nostr_manager/verify_auth.rb @@ -7,8 +7,9 @@ module NostrManager end def call - site_given = @event.tags.find{|t| t[0] == "site"}[1] - challenge_given = @event.tags.find{|t| t[0] == "challenge"}[1] + tags = parse_tags(@event.tags) + site_given = tags[:site].first + challenge_given = tags[:challenge].first site_given == @site_expected && challenge_given == @challenge_expected diff --git a/app/services/nostr_manager_service.rb b/app/services/nostr_manager_service.rb index 3376226..d838e72 100644 --- a/app/services/nostr_manager_service.rb +++ b/app/services/nostr_manager_service.rb @@ -1,4 +1,11 @@ require "nostr" class NostrManagerService < ApplicationService + def parse_tags(tags) + out = {} + tags.each do |tag| + out[tag[0].to_sym] = tag[1, tag.length] + end + out + end end