UNPKG

@eclass/cev-providers

Version:
40 lines • 4.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.login = void 0; const url_1 = require("url"); const fetch = require("node-fetch"); /** * Login a Adobeconnect * * @example * const login = login(username, password) */ const login = async ({ url, username, password }) => { const loginUrl = new url_1.URL(`${url}/api/xml`); const params = { action: 'login', 'external-auth': 'use', login: username, password }; Object.keys(params).forEach(key => loginUrl.searchParams.append(key, params[`${key}`])); try { const response = await fetch(loginUrl); if (!response.ok) { throw new Error('Response Error'); } const cookies = response.headers.get('set-cookie'); if (cookies === '' || !cookies.includes('BREEZESESSION')) { throw new Error('Cookie BREEZESESSION not found in header'); } const [[, breezeSession]] = cookies .split(';') .map(cookie => cookie.split('=')); return breezeSession; } catch (err) { throw new Error(err); } }; exports.login = login; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvQWRvYmVDb25uZWN0L2xvZ2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDZCQUF5QjtBQUN6QixvQ0FBb0M7QUFFcEM7Ozs7O0dBS0c7QUFDSSxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsRUFDMUIsR0FBRyxFQUNILFFBQVEsRUFDUixRQUFRLEVBQ0csRUFBbUIsRUFBRTtJQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLFNBQUcsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUE7SUFDMUMsTUFBTSxNQUFNLEdBQUc7UUFDYixNQUFNLEVBQUUsT0FBTztRQUNmLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLEtBQUssRUFBRSxRQUFRO1FBQ2YsUUFBUTtLQUNULENBQUE7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNoQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUNwRCxDQUFBO0lBQ0QsSUFBSTtRQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtTQUNsQztRQUVELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2xELElBQUksT0FBTyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFBO1NBQzVEO1FBQ0QsTUFBTSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxHQUFHLE9BQU87YUFDaEMsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVuQyxPQUFPLGFBQWEsQ0FBQTtLQUNyQjtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtLQUNyQjtBQUNILENBQUMsQ0FBQTtBQWpDWSxRQUFBLEtBQUssU0FpQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9naW5Qcm9wcyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBVUkwgfSBmcm9tICd1cmwnXG5pbXBvcnQgZmV0Y2ggPSByZXF1aXJlKCdub2RlLWZldGNoJylcblxuLyoqXG4gKiBMb2dpbiBhIEFkb2JlY29ubmVjdFxuICpcbiAqIEBleGFtcGxlXG4gKiAgY29uc3QgbG9naW4gPSBsb2dpbih1c2VybmFtZSwgcGFzc3dvcmQpXG4gKi9cbmV4cG9ydCBjb25zdCBsb2dpbiA9IGFzeW5jICh7XG4gIHVybCxcbiAgdXNlcm5hbWUsXG4gIHBhc3N3b3JkXG59OiBMb2dpblByb3BzKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgY29uc3QgbG9naW5VcmwgPSBuZXcgVVJMKGAke3VybH0vYXBpL3htbGApXG4gIGNvbnN0IHBhcmFtcyA9IHtcbiAgICBhY3Rpb246ICdsb2dpbicsXG4gICAgJ2V4dGVybmFsLWF1dGgnOiAndXNlJyxcbiAgICBsb2dpbjogdXNlcm5hbWUsXG4gICAgcGFzc3dvcmRcbiAgfVxuICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goa2V5ID0+XG4gICAgbG9naW5Vcmwuc2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIHBhcmFtc1tgJHtrZXl9YF0pXG4gIClcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGxvZ2luVXJsKVxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVzcG9uc2UgRXJyb3InKVxuICAgIH1cblxuICAgIGNvbnN0IGNvb2tpZXMgPSByZXNwb25zZS5oZWFkZXJzLmdldCgnc2V0LWNvb2tpZScpXG4gICAgaWYgKGNvb2tpZXMgPT09ICcnIHx8ICFjb29raWVzLmluY2x1ZGVzKCdCUkVFWkVTRVNTSU9OJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29va2llIEJSRUVaRVNFU1NJT04gbm90IGZvdW5kIGluIGhlYWRlcicpXG4gICAgfVxuICAgIGNvbnN0IFtbLCBicmVlemVTZXNzaW9uXV0gPSBjb29raWVzXG4gICAgICAuc3BsaXQoJzsnKVxuICAgICAgLm1hcChjb29raWUgPT4gY29va2llLnNwbGl0KCc9JykpXG5cbiAgICByZXR1cm4gYnJlZXplU2Vzc2lvblxuICB9IGNhdGNoIChlcnIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKVxuICB9XG59XG4iXX0=