EduWireApps / ecoledirecte-api-docs

70 stars 15 forks source link

Problème de connexion #19

Closed xdatomic-the-codeur closed 7 months ago

xdatomic-the-codeur commented 7 months ago

Lorsque je veux obtenir un token avec ce code :


let options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'
  },
  body: `data={'identifiant': 'id','motdepasse': 'mdp','isRelogin': false,'uuid': ''}`
};

(async () => {
  const fetch = (await import('node-fetch')).default;

  fetch(url, options)
    .then(res => res.json())
    .then(json => console.log(json))
    .catch(err => console.error('error:' + err));
})();

j'obtient cette erreur : '{ code: 505, token: '', message: 'Mot de passe invalide !', data: { changementMDP: false, accounts: [] } }' L'identifiant et le mot de passe sont bons car lorsque il y a une erreur dans ceux ci j'obtient cette erreur : '{ code: 505, token: '', message: 'Identifiant et/ou mot de passe invalide !', data: { changementMDP: false, accounts: [] } }' Savez vous comment régler ce soucis ?

MrBeam89 commented 7 months ago

Bonsoir,

En partant du principe que vous utilisez bien du JS, il semble qu'à cette ligne : body: `data={'identifiant': 'id','motdepasse': 'mdp','isRelogin': false,'uuid': ''}` Vous utilisez les chaînes de caractères 'id' et 'motdepasse' au lieu (j'assume) des variables.

En partant du principe que vos variables portent les mêmes noms, essayez de remplacer la ligne par : body: `data={'identifiant': '${id}','motdepasse': '${motdepasse}','isRelogin': false,'uuid': ''}`

Lien vers la documentation

Bonne soirée.

EDIT : N'ayant pas d'expérience en JS, je n'ai pas les connaisances nécessaires pour vous aider pour d'autres problèmes

xdatomic-the-codeur commented 7 months ago

Merci beaucoup j'ai remplacé les chaînes de caractères par les variables correspondantes mais j'ai toujours le même problème. Cependant j'ai remarqué que si j'utilisais le code sur mon pc tout se passait correctement. Actuellement j'utilise une codespace

MrBeam89 commented 7 months ago

De rien, êtes vous sûr(e) qu'il n'y a pas de problème de configuration avec votre codespace ?

xdatomic-the-codeur commented 7 months ago

Oui j'en suis sûr car les autres appels à l'api fonctionnent correctement, tout le code fonctionne correctement sauf l'obtention de token

MrBeam89 commented 7 months ago

D'accord, si votre problème est réglé, pensez à fermer cette issue. Bonne journée.

xdatomic-the-codeur commented 7 months ago

Merci beaucoup bonne journée a vous

MrBeam89 commented 7 months ago

Merci

madsenfr commented 7 months ago

Salut, J'ai pas compris pourquoi le cas est fermé, il ne me semble pas avoir vu de solution ?

De mon point de vue et avec toutes les explications, cela doit être dû à l'hébergement hors France. En effet, dans ce cas l'obtention du token échoue mais pas les autres appels. Néanmoins vous devez recevoir un mail sur l'adresse correspondant à l'identifiant utilisé, vous demandant si vous souhaitez autoriser l'IP appelante, mais cela ne fonctionne qu'un temps, donc la solution est d'héberger l'obtention du token sur un serveur en France. Voir ce cas : https://github.com/EduWireApps/ecoledirecte-api-docs/issues/11

MrBeam89 commented 7 months ago

Bonjour,

Le cas parle du problème de connexion dû au code, alors la solution est le code corrigé : body: `data={'identifiant': '${id}','motdepasse': '${motdepasse}','isRelogin': false,'uuid': ''}`

De mon point de vue et avec toutes les explications, cela doit être dû à l'hébergement hors France. En effet, dans ce cas l'obtention du token échoue mais pas les autres appels.

J'imagine que vous parlez du Codespaces, il est possible qu'EcoleDirecte pense qu'il s'agit d'une adresse IP suspecte, même si le serveur est réglé manuellement sur Europe de l'Ouest, cela pourrait expliquer le fait qu'il ne puisse pas se connecter.

Néanmoins vous devez recevoir un mail sur l'adresse correspondant à l'identifiant utilisé, vous demandant si vous souhaitez autoriser l'IP appelante, mais cela ne fonctionne qu'un temps, donc la solution est d'héberger l'obtention du token sur un serveur en France.

Cependant, même si votre hypothèse est possible, il n'a pas précisé qu'il a reçu un mail de la part d'EcoleDirecte.

Bonne journée.