Est-ce que tu fais quelque chose après avoir appelé la fonction login()? Je me demande s'il ne faudrait pas que tu fasses un await fetch(...).
Bonjour à tous.
Au sein de mon extension chrome je dois récupérer le token renvoyée par mon process d'authentification Oauth.
Si l'authentification se fait bien, je ne parviens pas à récupérer la valeur de retour.
Pour implémenter cela j'ai une méthode déclarée dans mon composant enfant Login.vue (chargé depuis le parent App.vue) et dans lequel un bouton appelle ma fonction via async login()
Ce que je veux
Récupérer le résultat de ma requête fetch
Ce que j'obtiens
Etant donné que je suis dans une extension, je ne peux rien envoyer dnas la console. Donc j'essaie d'envoyer le résultat dans une props du composant que je récupére et affiche dans le parent App.vue via ce code
Mais ma props token garde sa valeur par défaut. Rien n'est transmis et je ne sais même pas si le résultat du fetch est récupéré.
Un peu d'aide serait apprcié.
Merci :)
6 réponses
Pour info la requête fonctionne. Je suis bien dirigé vers la page de login pour m'authentifier, la connexion est effective (l'interface admin affiche bien la session ouverte)
J'ai allégé ma fonction login pour mieux analyser. J'ai donc enlever pour l'instant la requête fetch.
Et ça ne donne rien de mieux.
Je ne parviens pas à récupérer le rsultat de mon appel au login oAuth2
Je tente une autre approche.
Dans mon App.vue je charge les components conditionnellement, dont mon composant Login qui contient le bouton au sein de l'élément "form" :
Dans mon Login.vue j'ai :
Dans mon fichier main.js qui est l'équivalent du popup.js dans mon extension, j'ai ce code :
Mais il semble que ce code ne parvienne pas à capturer mon élément puisque lorsque je clique je vois que le submit se fait, donc le preventDefault n'est jamais exécuté, ce qui veut dire qu'il ne rentre jamais dans le code du "if (formElement)"
Bon j'y suis arrivé pour une partie.
Sans mon composant APP.vue j'ai ajouté le listener et au click je suis bien dirigé vers l'authentification sur mon serveur oAuth.
Pour vérifier les données qui étaient conservées j'ai stocké un pseudo token dna sle localStorage.
Et comme l'affichage de Login.vue est conditionné par la valeur de la data "isConnected", une fois de retour sur mon extension après l'authentification oAuth2 j'ai bien mon autre composant Capture.vue qui est chargé au lieu de Login.vue.
Je crois que j'ai compris. Il faut que je gère la com avec le navigateur depuis le composant et non pas depuis le popup.js que j'utilisais avant d'implémenter Vuejs :