Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

@xmpp/sasl

0.11.0 • Public • Published

SASL

SASL Negotiation for @xmpp/client.

Included and enabled in @xmpp/client.

Usage

object

const {xmpp} = require('@xmpp/client')
const client = xmpp({credentials: {
  username: 'foo',
  password: 'bar'
})

function

Instead, you can provide a function that will be called every time authentication occurs (every (re)connect).

Uses cases:

  • Have the user enter the password every time
  • Do not ask for password before connection is made
  • Debug authentication
  • Using a SASL mechanism with specific requirements
  • Perform an asynchronous operation to get credentials
const {xmpp} = require('@xmpp/client')
const client = xmpp({credentials: authenticate})
 
async function authenticate(auth, mechanism) {
  console.debug('authenticate', mechanism)
  const credentials = {
    username: await prompt('enter username'),
    password: await prompt('enter password'),
  }
  console.debug('authenticating')
  try {
    await auth(credentials)
    console.debug('authenticated')
  } catch (err) {
    console.error(err)
    throw err
  }
}

References

RFC 6120 SASL Negotiation

Keywords

Install

npm i @xmpp/sasl

DownloadsWeekly Downloads

2,140

Version

0.11.0

License

ISC

Unpacked Size

9.18 kB

Total Files

6

Last publish

Collaborators

  • avatar