Creation d'un client web avec react

Bonjour à tous,

j’ai 2 questions que je pose à la fin …

J’ai commencé un POC avec le sdk wazo pour créer une application softphone comme https://phone.wazo.community/

connexion / appel, et ça fonctionne bien.
Je voulais commencer à intégrer d’autres features et en fouillant le sdk et la doc, je me rends compte qu’il n’est pas possible d’utiliser certaines fonctions avec la librairie simple:
import Wazo from ‘@wazo/sdk/lib/simple’;
pas de “dird” personnel, pas possible de configurer ses renvois, les touches si on a un téléphone physique …etc.

Bref, j’ai donc tenté d’utiliser
import { WazoApiClient } from '@wazo/sdk'

l’import ne fonctionne pas chez moi, je suis obligé d’importer avec
import { WazoApiClient } from ‘@wazo/sdk/dist/wazo-sdk’;

j’initialise bien le client
et lorsque je tente d’authentifier un utilisateur, j’ai l’erreur:
Uncaught (in promise) TypeError: Window.fetch: ‘signal’ member of RequestInit does not implement interface AbortSignal.

je me retrouve avec une lib qui me semble incomplète d’un côté, et une autre que je n’arrive pas à faire fonctionner.

1/ Est-ce prévu d’agrandir la lib/simple ?
2/ Avez-vous une solution pour l’erreur abortSignal ?

re,

j’ai repris le projet en changeant de librairie.
j’ai créé un projet avec Vite + React

j’importe bien avec
import { WazoApiClient } from ‘@wazo/sdk/dist/wazo-sdk’;

j’initialise avec:

const client = new WazoApiClient({
        server: '10.94.101.195', // required string
        agent: null, // http(s).Agent instance, allows custom proxy, unsecured https, certificate etc.
        clientId: null, // Set an identifier for your app when using refreshToken
        isMobile: false,
      });

dans mon console.log, j’ai bien client bien retourné et complet.

quand je fais une demande d’authentification avec
session = await client.auth.logIn(email, password);
pas d’erreur AbortSignal, mais une erreur 401 maintenant:
Authentication Failed

je viens de trouver la doc ici

j’ai donc ajouté un fichier /etc/wazo-auth/conf.d/allow_user_api.yml

enabled_http_plugins:
  user_registration: true

redémarrer le service

systemctl restart wazo-auth

mais toujours l’erreur 401 avec une erreur identifiant / mot de passe alors que j’utilise les mêmes que lorsque j’utilise la librairie import Wazo from ‘@wazo/sdk/lib/simple et qui fonctionne.

aurais-je raté quelque chose pour que mes utilisateurs puissent s’authentifier via l’API ?

merci

trouvé !

session = await client.auth.logIn({username: email, password});

et là ça marche !

bon, ça ne retourne pas les données de l’utilisateur (session.profile) comme avec la librairie simple … mais cest ok !

on peut fermer le topic ^^

Bonjour,

Peux-tu me dire si avec la version 0.39.7 du SDK tu as toujours l’erreur:
Uncaught (in promise) TypeError: Window.fetch: ‘signal’ member of RequestInit does not implement interface AbortSignal. ?

Est-ce que tu peux être plus précis concernant

l’import ne fonctionne pas chez moi

As-tu des erreurs lors de cet import ?

Merci !

Salut,

Tu as activé cette API mais j’ai l’impression que tu n’as pas compris le but. Elle permet d’avoir une API pour faire une mécanique d’enregistrement d’utilisateur. Genre inscrivez-vous. Ça n’a pas de rapport avec ce dont tu parles. Je te conseille de ne pas l’activer si cela ne te sert pas.

@manu:
le passage de la version 0.39.6 à la 0.39.7 corrige l’erreur !

@quintana:
effectivement, je ne l’ai pas lu comme ça, bien que c’est marqué en gros REGISTRATION.
j’ai viré la modification.

si j’importe:
import { WazoApiClient } from '@wazo/sdk';
j’ai l’erreur:
Module not found: Error: Can't resolve '@wazo/sdk' in 'C:\Users\023267\Desktop\www\wazo-desktop-old\src\services'

peut-être que dans le readme du projet wazo-sdk, il faut modifier cela et préciser:
import { WazoApiClient } from '@wazo/sdk/dist/wazo-sdk';

merci pour vos remarques !