EduWireApps / ecoledirecte-api-docs

70 stars 15 forks source link

Besoin du user-agent #30

Closed mdeverdelhan closed 3 months ago

mdeverdelhan commented 4 months ago

Bonjour,

Concernant ce point :

NOTE IMPORTANTE :
Avant tout, merci d'ajouter un user-agent dans vos headers pour "faire croire" à ED que vous utilisez un "vrai" navigateur pour faire vos requetes !

Pour l'avoir testé un grand nombre de fois ces derniers temps le user-agent n'a rien d'obligatoire (en tout cas pour les ressources auxquelles j'accède). Pourquoi conseiller cela SVP ?

Merci !

azgaresncf commented 4 months ago

Bonjour,

Concernant ce point :

NOTE IMPORTANTE :
Avant tout, merci d'ajouter un user-agent dans vos headers pour "faire croire" à ED que vous utilisez un "vrai" navigateur pour faire vos requetes !

Pour l'avoir testé un grand nombre de fois ces derniers temps le user-agent n'a rien d'obligatoire (en tout cas pour les ressources auxquelles j'accède). Pourquoi conseiller cela SVP ?

Merci !

EcoleDirecte utilise l'header User-Agent, afin de pouvoir identifier l'appareil qui fait la requête au serveur. Cela évite à ce que des bots puissent se connecter.

Pour autant, il y a des exceptions, comme sur la version mobile où ils utilisent EDMOBILE en tant que UA.

madsenfr commented 4 months ago

Il me semble que ce header est obligatoire, mais tu peux mettre n'importe quoi.

mdeverdelhan commented 4 months ago

C'est justement l'objet de ma remarque/question. Je développe en ce moment ceci https://github.com/mdeverdelhan/ecoledirecte-client J'ai un compte enseignant, un compte famille, et pour aucun des deux je n'ai besoin de définir un quelconque header d'UA. Je parviens à m'authentifier dans tous les cas.

kekaaafm commented 4 months ago

Lors des tests effectués pour écrire la documentation, nous avons observé qu'en l'absence du header UA, le serveur d'ED ne renvoyait aucune réponse. Je suis particulièrement au fait de cette situation car j'ai initié la documentation et rédigé ces lignes.

Dans le contexte de ton utilisation de Java, il est possible qu'un UA par défaut soit défini, ce qui pourrait donner l'impression que cette remarque est superflue.

Le serveur ED regarde juste s'il est présent et non null. Pour mes tests j'ai utilisé un truc dans le style "marketing/cookie".

mdeverdelhan commented 4 months ago

Non ce n'est pas Java.

Peut-être ont-ils supprimé cette obligation entre le moment où vous avez rédigé cela et aujourd'hui. Je viens d'executer ce curl à l'instant et suis parvenu à me connecter :

curl 'https://api.ecoledirecte.com/v3/login.awp' -H 'Accept: application/json, text/plain, */*' -H 'Content-Type: application/x-www-form-urlencoded' --data $'data={\n "identifiant": "unIdentifiant", "motdepasse": "unMotDePasse"\n}'