trim trailing slash from expected and found relay URL, clean up

This commit is contained in:
Liran Cohen 2023-01-18 17:44:32 +00:00
parent c816103774
commit 443c7cf633

View File

@ -2,6 +2,7 @@ package nip42
import (
"net/url"
"strings"
"time"
"github.com/nbd-wtf/go-nostr"
@ -41,16 +42,20 @@ func ValidateAuthEvent(event *nostr.Event, challenge string, relayURL string) (p
return "", false
}
expected, err1 := url.Parse(relayURL)
found, err2 := url.Parse(event.Tags.GetFirst([]string{"relay", ""}).Value())
if err1 != nil || err2 != nil {
expected, err := url.Parse(strings.TrimSuffix(relayURL, "/"))
if err != nil {
return "", false
}
found, err := url.Parse(strings.TrimSuffix(event.Tags.GetFirst([]string{"relay", ""}).Value(), "/"))
if err != nil {
return "", false
}
if expected.Scheme != found.Scheme ||
expected.Host != found.Host ||
expected.Path != found.Path {
return "", false
} else {
if expected.Scheme != found.Scheme ||
expected.Host != found.Host ||
expected.Path != found.Path {
return "", false
}
}
return event.PubKey, true