Closed ZKillou closed 3 years ago
Bonjour, peux-tu me montrer ton erreur ?
UnhandledPromiseRejectionWarning: Not logged in
Cette erreur là viens de mon API et signifie que la connexion à pronote n'a pas encore été effectué, d'ou la présence d'un callback. Son problème original est que malgré que l'académie de Renne sois noté comme compatible il n'y a pas de fichier "ac-rennes" et il semblerait que toutatice ne fonctionne pas non plus.
Salut j'ai une autre erreur je suis sur toutatice :
Error: getaddrinfo ENOTFOUND www.toutatice.frctrl
puis a la fin:
Unknown CAS 'toutatice'
cela viendrais de cette ligne la:
https://github.com/Litarvan/pronote-api/blob/master/src/cas/toutatice.js#L29
Dans les fait l'erreur provient du fait que toutatice a changer de module d'authentification pour utiliser le module educonnect a la place de celui développer initialement 😉.
ha vu sous cet angle c'est vrai que c'est logique.
Salut, peux-tu me dire si tu as toujousr ce problème avec la nouvelle version ?
Bonjour ! Je testerai cela lorsque j'aurai reçu mon nouveau code pronote (car je change d'établissement donc je n'ai plus accès à mon ancien compte) Je vous ferais part de mon résultat.
TypeError: getParams is not a function
at login (G:\pronote-api\src\cas\toutatice.js:15:18)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async getStart (G:\pronote-api\src\auth.js:71:12)
at async Object.login (G:\pronote-api\src\auth.js:17:19)
at async login (G:\pronote-api\src\server\auth.js:17:23)```
j'ai fix l'erreur: api.js#L105
module.exports = {
submitForm,
getParams,
getDOM,
extractStart
};
mais j'ai une autre erreur:
{
"message": "getaddrinfo ENOTFOUND www.toutatice.frctrl",
"name": "Error",
"stack": "Error: getaddrinfo ENOTFOUND www.toutatice.frctrl\n at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)",
"config": {
"url": "https://www.toutatice.frCtrl",
"method": "post",
"data": "0=undefined&1=undefined&2=undefined&3=undefined&4=undefined&5=undefined",
"headers": {
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/x-www-form-urlencoded",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0",
"Cookie": "IDP_JSESSIONID=DA0CD165ED867EB59507DF31E1F1D383; SpCookie=PRIPASP2; BIGipServer~PROD-DMZ~PRIPASP_1-2=rd100o00000000000000000000ffffc0a8db03o80; JSESSIONID=CEACD7B5D2585F34AADD98BBB459BFC0; WAYF-COOKIE-HOST=wayf-1; Persistence=!zC7wi/r1yfmHSle7Y9PnjC+lK0ZjPabLUBRnIGdVW/GpCVrnkSboXXm5qDQ7vrIIz01SWJ/CGymJ6gkKJKkYHXKdLFaidE2MieZqtcQyckaI",
"Content-Length": 71
},
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"maxRedirects": 0
},
"code": "ENOTFOUND"
}
Le CAS ayant fondamentalement changé, il n'est dorénavant plus supporté par l'API
Alors surprise j'ai pu reprendre le code d'un autre CAS au même fonctionnement, je l'ai donc refait et ça devrait fonctionner. Pour tester, il faut que l'un de vous dézippe https://github.com/Litarvan/pronote-api/archive/master.zip dans son dossier node_modules/pronote-api/ et se connecte avec comme CAS 'toutatice' et ses identifiants educonnect. Dites moi si ça marche !
{ code: 3, message: 'Wrong user credentials' }
Mes creds sont bon j'ai vérifié
Est-ce que tu as bien des identifiants educonnect ?
yep je les ai testés sur educonnect avant de répondre
Si tu est disponible je peut t'aidé a test Mon discord: Fl0w#3841
Même problème de mon côté, il me retourne "Mauvais identifiants" alors que les identifiants sont corrects.
J'ai regardé dans les requêtes, et il arrive pourtant a trouver le lien de mon pronote, qui n'est affiché que sur mon "bureau virtuel" (valeur de "url + account.value + '.html'" dans le educonnect.js).
De plus, à la fin de l'authentification, lorsqu'il veut accéder à Pronote, la page passe par un intermédiaire qui affiche "Authentification en cours..." et qui ne contient pas PRONOTE (extractStart dans le api.js), donc il renvoie l'erreur des mauvais identifiants
J'espère pouvoir être utile :)
Okdac c'est bien ce que je pensais, merci de ce debug détaillé ! J'aurais besoin que tu me contactes sur Discord à Litarvan#0420 pour que je te fasse faire un test mais ça devrait pas être très dur :) (il me semble déjà t'avoir d'ailleurs de mémoire ?)
3low je te ferai tester aussi.
Bonjour ! Je suis désolé de ne pas avoir répondu car cette année, on ne passe plus par Toutatice mais Pronote directement... Désolé...
Hello,
Votre problème est résolut ?
Cdt Thibaut
bonjour, il semblerai que non ...
je viens d'avoir un retour sur un de mes user que l'api de toutatice retourne mauvais identifiants
...
Je vais essayer d'avoir le max d'info d'ici quelques jours
Ok hésite pas a me faire des retours,
@Litarvan est pas mal occuper en ce moment. Je fait donc mon possible pour tout géré.
Cdt Thibaut
Note : L'authentification bloque sur une page HTML qui n'est pas gérée par l'API, il faudrait ajouter son support (il y a un gros bout de code en JS qui montre comment l'authentification est faite dans cette page)
Possible de me send la page avec sont lien. Voir si c'est possible de recup des identifiant pour test.
Ps : Mon Discord : "Thibaut Black#0001"
Cdt Thibaut
Cela a été fixé ?
Toujours pas, on attend @Litarvan qui doit être en partiel actuellement.
Cdt Thibaut
Bonjour, j'ai aussi un problème avec Toutatice je ne sais pas si c'est lié... (si ce n'est pas le cas je m'en excuse) quand je me connecte j'ai le droit à un "curl: (52) Empty reply from server"... Je précise que j'utilise GraphQL Ma requête :
👌 eban <~>
❯❯ curl -X POST -H "Content-Type: application/json" -d '{
"url": "http://03XXXXX.index-education.net/",
"username": "XXXXX",
"password": "XXXXX",
"cas": "toutatice"
}' http://10.0.0.11:8000/auth/login
@ebanDev J'ai une bonne nouvelle pour toi j'ai fait un fix: #172
Génial !! Tu saurais me dire comment installer pronote-api depuis ton fork ? Je connais très peu npm...
Si tu préfères, j'ai un discord : Eban#9456
Rien de plus simple:
npm i https://github.com/3l0w/pronote-api.git
Ok je test ca, merci :)
Merge a l'instant dans la master, je vous laisse faire les test.
Cdt Thibaut
Bonjour, Je viens de tester et j'obtiens encore le message "Mauvais identifiants". Avec les id de démo ça fonctionne. J'ai vérifier mon url et mes id et bien décommenter /, cas/ dans l'exemple pour l'initialiser avec "toutatice". Par contre, j'utilise un fork https://github.com/madsenfr/pronote-api où la seule différente est la version mini de node.js à 10.21.0, qui ne provique pas d'erreur par ailleurs. Merci pour vos efforts, je suis à votre dispo pour tester.
Peux on voir ta config ?
Cdt Thibaut
Bien sûr, mais qu'entends-tu par config, tu veux avoir quoi comme infos ?
Passe discord si tu veut je vais t'aider fl0w#3841
Je ne connais pas Discord, je suis sur la version en ligne : Ragnar56#8172
Suite à l'aide de 3l0w, la conclusion c'est que ça vient de ma version de Node.js utilisée (10.23.0). Pour être précis l'identification directement via pronote fonctionne, mais en passant par un CAS ça ne fonctionne plus. Je n'ai pas de message d'erreur, juste une exception au login. La suite dans https://github.com/Litarvan/pronote-api/issues/160
Educonnect étant acutellement en maintenance, il se peut qu'il y ait des erreurs lors de la connexion via celui ci :)
Dispo dans l'api depuis peux.
Je close
Cdt Thibaut
Bonjour, j'ai essayer de me connecter à Pronote depuis le NPM package pronote-lib qui utilise votre API mais je n'ai pas réussi à me connecter depuis l'Académie de Rennes. J'ai aussi essayer "toutatice" mais ça na pas fonctionné... Pourriez-vous m'aider ?