UNPKG

strophe.js

Version:

Strophe.js is an XMPP library for JavaScript

25 lines (24 loc) 820 B
import SASLMechanism from './sasl'; import utils from './utils'; class SASLOAuthBearer extends SASLMechanism { constructor(mechname = 'OAUTHBEARER', isClientFirst = true, priority = 40) { super(mechname, isClientFirst, priority); } test(connection) { return connection.pass !== null; } onChallenge(connection) { let auth_str = 'n,'; if (connection.authcid !== null) { auth_str = auth_str + 'a=' + connection.authzid; } auth_str = auth_str + ','; auth_str = auth_str + '\u0001'; auth_str = auth_str + 'auth=Bearer '; auth_str = auth_str + connection.pass; auth_str = auth_str + '\u0001'; auth_str = auth_str + '\u0001'; return utils.utf16to8(auth_str); } } export default SASLOAuthBearer;