Pulling from my sender:
Try
const payload = {
exp: Number(Math.floor(Date.now() / 1000) + 60),
channel_id: String(channelId),
role: 'external',
pubsub_perms: {
send: [
'broadcast'
]
},
};
and maybe: (just omit the algo) then your code matches mine
let signedJwt = jwt.sign(payload, secret);