summaryrefslogtreecommitdiff
path: root/alarm/node_modules/pronote-api/src/cas/atrium-sud.js
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/pronote-api/src/cas/atrium-sud.js')
-rw-r--r--alarm/node_modules/pronote-api/src/cas/atrium-sud.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/alarm/node_modules/pronote-api/src/cas/atrium-sud.js b/alarm/node_modules/pronote-api/src/cas/atrium-sud.js
new file mode 100644
index 0000000..c508a3d
--- /dev/null
+++ b/alarm/node_modules/pronote-api/src/cas/atrium-sud.js
@@ -0,0 +1,43 @@
+const jsdom = require('jsdom');
+const { getDOM, extractStart } = require('./api');
+
+async function login(url, account, username, password)
+{
+ const jar = new jsdom.CookieJar();
+ let dom = await getDOM({
+ url: 'https://www.atrium-sud.fr/connexion/login?service=' + url,
+ jar
+ });
+
+ let lt = dom.window.document.getElementsByName('lt');
+ let execution = dom.window.document.getElementsByName('execution');
+ lt = lt[0].value;
+ execution = execution[0].value;
+
+ dom = await getDOM({
+ url: 'https://www.atrium-sud.fr/connexion/login?service=' + url,
+ jar,
+ method: 'POST',
+ data: {
+ username,
+ password,
+ lt,
+ execution,
+ _eventId: 'submit',
+ submit: ''
+ },
+ asIs: true
+ })
+
+ dom = await getDOM({
+ url,
+ jar,
+ method: 'GET',
+ asIs: true,
+ followRedirects: true
+ });
+
+ return extractStart(dom);
+}
+
+module.exports = login;