diff options
Diffstat (limited to 'alarm/node_modules/pronote-api/src/fetch/pronote/auth.js')
-rw-r--r-- | alarm/node_modules/pronote-api/src/fetch/pronote/auth.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/alarm/node_modules/pronote-api/src/fetch/pronote/auth.js b/alarm/node_modules/pronote-api/src/fetch/pronote/auth.js new file mode 100644 index 0000000..9c1d566 --- /dev/null +++ b/alarm/node_modules/pronote-api/src/fetch/pronote/auth.js @@ -0,0 +1,43 @@ +const request = require('../../request'); +const { cipher } = require('../../cipher'); + +async function getId(session, username, fromCas) +{ + const { donnees: id } = await request(session, 'Identification', { + donnees: { + genreConnexion: 0, + genreEspace: session.type.id, + identifiant: username, + pourENT: fromCas, + enConnexionAuto: false, + demandeConnexionAuto: false, + demandeConnexionAppliMobile: false, + demandeConnexionAppliMobileJeton: false, + uuidAppliMobile: '', + loginTokenSAV: '' + } + }); + + return { + scramble: id.alea, + challenge: id.challenge + }; +} + +async function getAuthKey(session, challenge, key) +{ + const { donnees: auth } = await request(session, 'Authentification', { + donnees: { + connexion: 0, + challenge: cipher(session, challenge, { key }), + espace: session.type.id + } + }); + + return auth.cle; +} + +module.exports = { + getId, + getAuthKey +}; |