-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Harvest / Konnector] Timeout des 8s pour le "LOGIN_SUCESS" #752
Comments
Je n'ai pas l'impression qu'on ait assez de recul pour avoir une clé |
J'aime beaucoup l'idée de la clé Nous n'avons jamais descendu la gestion du |
Cette clé |
Ca me gêne un peu d'ajouter une métadonnée pour dire "ce connecteur va se comporter comme on aimerait que tous les connecteurs se comportent". Je préférerais voir le fonctionnement inverse et changer les métadonnées des connecteurs qui n'implémentent pas tout ce qu'on attends (ou mieux : les corriger pour qu'ils envoient les bons événements) |
Perso ca ne me semble pas juste UI/UX, c'est intéressant aussi par exemple pour les métriques, si on a une erreur de connecteur, c'est intéressant de savoir à quelle étape du connecteur on en est (login / récupération des données). |
As tu un peu plus de données sur l'utilisation de cette clé, un cas d'usage ? Effectivement |
Je me suis mal exprimé, je parlais du timeout de LOGIN_SUCCESS, celui qui permet de simplement supposer qu'on est logué, côté front. En effet le LOGIN_SUCCESS a tout son sens côté konnector, y compris pour les metrics. |
@edas Si c'est au konnecteur de dire LOGIN_SUCESS quid des OAuth ? Vu que le Callback arrive sur une instance particulière de la stack qui redirige (actuellement) sur la Home. Ce serait donc à la Home / Harvest de dispatcher un LOGIN_SUCESS et non au konnecteur ? |
Je n'avais pas pensé aux connecteurs OAUTH, effectivement |
Aujourd'hui, nous avons une notion côté front (ie Harvest) de "timeout" pour le "login_success". En effet, certains konnecteurs ne sont pas capables de nous donner un "login_success" et donc ils nous donnent un "success" que quand le konnecteur s'est exécuté correctement. Afin de ne pas bloquer les utilisateurs et les interfaces pendant le temps d'execution d'un konnecteur (qui peut être très long lors de la première utilisation par exemple), Harvest part du principe que s'il n'a reçu aucun EVENT (de success ou d'error) au bout de 8s (que le job soit running ou pas cf #748) , il considère que le login est en succès.
Cependant, à cause de la 2FA, cette hypothèse doit être remise en cause, car il n'est pas rare de mettre plus de 8s entre le début du login et la fin (le temps d'aller chercher le code de 2FA etc).
Nous venons d'ajouter à konnector-lib, le fait de pouvoir désactiver le timer (konnectors/libs#575). Mais, ça n'est pas la solution la plus optimale. En effet, amener une notion front "celle du timer" dans un konnecteur n'est pas idéal.
Proposition : Ajouter l'information dans le manifest du konnector que celui-ci sait géré l'event
LOGIN_SUCESS
. Ainsi le konnecteur n'a pas besoin de dispatcher de dispatcher un event pour désactiver le timer. En lisant le manifeste, Harvest saura que le konnector gère le login_sucess et ne déclenchera pas le timer.On pourrait ajouter une clé
events
dans le manifeste pour lister l'ensemble des EVENT que le konnecteur sait gérer par lui-même ?manifest.konnector:
Des avis ?
The text was updated successfully, but these errors were encountered: