PapillonApp / papillon-v4

La nouvelle version de Pronote+ 👀✨🎉 (N'EST PLUS MAINTENUE : ATTENDEZ LA v5)
https://pronote.plus
MIT License
5 stars 0 forks source link

[DEV] 🟠 Problème nouvelle API #6

Closed lucas-luchack closed 1 year ago

lucas-luchack commented 2 years ago

Code sur https://github.com/PapillonApp/papillon-v4/commit/97a74ff52aa79ce4edaf5a0f0c89c666c271a37a#r90893260

Gravité : 🟠 MOYENNE

Retour des APIs :

URL utilisé pour le login : https://mon.lyceeconnecte.fr/auth/login URL utilisé pour l'authentification du service : https://mon.lyceeconnecte.fr/cas/login?service=https://0400017B.index-education.net/pronote/

Explication : Certains ENT (ex. Lycée Connecté) ne sont pas redirigé par PRONOTE directement sur la page d'authentification mais sur une page de sélection de profil ou de portail d'authentification.

L'ancienne API ne fournissait pas une URL mais l'en-tête de la redirection. Ainsi avec cette méthode nous étions capable de récupérer l'URL exacte de la page d'authentification ainsi que les différentes redirection. Désormais, seul un lien est renvoyé par l'API. Il faut donc adapté soit l'API, soit l'application (par exemple en utilisant le lien pour ouvrir la page et se connecter depuis là).

EDIT: Ce disfonctionnement intervient lors de la sélection des établissements avec la recherche. La sélection manuelle fonctionne très bien.

andronedev commented 2 years ago

Quel est le problème exactement ?

ecnivtwelve commented 2 years ago

La nouvelle API de @andronedev à été justement créé pour déporter la détermination de l'URL sur une API. C'est la même chose mais directement faite sur le backend (voir son projet dispo dans les repo dans la team)

lucas-luchack commented 2 years ago

Je viens de check justement, mais étonnement la détection ne marche plus, c'est bien cela qui est étrange... 🤔

andronedev commented 2 years ago

Le principal changement avec la nouvelle api est le fait que pour suivre les redirections j'ai ajouté un agent pour simuler l'utilisation d'un navigateur.

Cela a permis de corriger le bug que j'avais pour mon ent.

ecnivtwelve commented 1 year ago

Fixé avec l'api GraphQL