diff --git a/nip46/dynamic-signer.go b/nip46/dynamic-signer.go index cd26572..2d8eac8 100644 --- a/nip46/dynamic-signer.go +++ b/nip46/dynamic-signer.go @@ -42,6 +42,7 @@ func NewDynamicSigner( onEventSigned func(event nostr.Event), ) DynamicSigner { return DynamicSigner{ + sessions: make(map[nostr.PubKey]Session), getHandlerSecretKey: getHandlerSecretKey, getUserKeyer: getUserKeyer, authorizeSigning: authorizeSigning, @@ -51,6 +52,9 @@ func NewDynamicSigner( } func (p *DynamicSigner) GetSession(clientPubkey nostr.PubKey) (Session, bool) { + p.Lock() + defer p.Unlock() + session, exists := p.sessions[clientPubkey] if exists { return session, true diff --git a/nip46/static-key-signer.go b/nip46/static-key-signer.go index 265cac9..5d4b4e3 100644 --- a/nip46/static-key-signer.go +++ b/nip46/static-key-signer.go @@ -26,10 +26,14 @@ type StaticKeySigner struct { func NewStaticKeySigner(secretKey [32]byte) StaticKeySigner { return StaticKeySigner{ secretKey: secretKey, + sessions: make(map[nostr.PubKey]Session), } } func (p *StaticKeySigner) GetSession(clientPubkey nostr.PubKey) (Session, bool) { + p.Lock() + defer p.Unlock() + session, ok := p.sessions[clientPubkey] return session, ok }