relay: add support for NIP42 authentication

This commit is contained in:
Lynn Zenn
2023-04-18 15:10:12 +02:00
committed by fiatjaf_
parent 26e35d50e0
commit 6e58fe371c
4 changed files with 94 additions and 11 deletions

27
nip42.test.js Normal file
View File

@@ -0,0 +1,27 @@
/* eslint-env jest */
require('websocket-polyfill')
const {
relayInit,
generatePrivateKey,
finishEvent,
nip42
} = require('./lib/nostr.cjs')
test('auth flow', done => {
const relay = relayInit('wss://nostr.kollider.xyz')
relay.connect()
const sk = generatePrivateKey()
relay.on('auth', async challenge => {
await expect(
nip42.authenticate({
challenge,
relay,
sign: e => finishEvent(e, sk)
})
).rejects.toBeTruthy()
relay.close()
done()
})
})