blob: 7e3fa29ed2bcad993bb2bcf38d1ef4cea4357e8f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
const jsdom = require('jsdom');
const http = require('../../http');
const { getDOM, extractStart } = require('../api');
async function login({ url, account, username, password, target })
{
const location = await http({ url, followRedirects: 'get' });
let service = encodeURIComponent(url);
if (location.startsWith('http') && location.includes('service=')) {
service = location.substring(location.indexOf('=') + 1);
}
const jar = new jsdom.CookieJar();
await getDOM({
url: `https://${target}/auth/login`,
jar,
method: 'POST',
data: {
email: username,
password,
callback: `/cas/login?service=${service}`
}
});
return extractStart(await getDOM({ url: url + account.value + '.html', jar, asIs: true }));
}
module.exports = login;
|