summaryrefslogtreecommitdiff
path: root/alarm/node_modules/pronote-api/src/cas/generics/kdecole-educonnect.js
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/pronote-api/src/cas/generics/kdecole-educonnect.js')
-rw-r--r--alarm/node_modules/pronote-api/src/cas/generics/kdecole-educonnect.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/alarm/node_modules/pronote-api/src/cas/generics/kdecole-educonnect.js b/alarm/node_modules/pronote-api/src/cas/generics/kdecole-educonnect.js
new file mode 100644
index 0000000..28db408
--- /dev/null
+++ b/alarm/node_modules/pronote-api/src/cas/generics/kdecole-educonnect.js
@@ -0,0 +1,30 @@
+const jsdom = require('jsdom');
+
+const { getDOM, submitForm, extractStart } = require('../api');
+const edu = require('./educonnect');
+
+async function login({ url, account, username, password, casUrl, idp })
+{
+
+ const jar = new jsdom.CookieJar();
+
+ // Select EduConnect
+ let dom = await getDOM({
+ url: `https://${casUrl}/login?&selection=${idp}&service=${url}&submit=Valider`,
+ jar,
+ followRedirects: true
+ });
+
+
+ // Send SAML Request to EduConnect
+ dom = await submitForm({
+ dom,
+ jar
+ });
+
+ await edu({ dom, jar, username, password });
+
+ return extractStart(await getDOM({ url: url + account.value + '.html', jar, asIs: true }));
+}
+
+module.exports = login;