# Creation d'un client web avec react

**URL:** <https://wazo-platform.discourse.group/t/creation-dun-client-web-avec-react/1317>\
**Category:** Développement: API/Events\
**Created:** [September 4, 2023, 2:34pm UTC](https://wazo-platform.discourse.group/t/creation-dun-client-web-avec-react/1317 "2023-09-04T14:34:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![julienfr](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/julienfr/32/797_2.png) [@julienfr](https://wazo-platform.discourse.group/u/julienfr)\
**Post date:** [September 4, 2023, 2:34pm UTC](https://wazo-platform.discourse.group/t/creation-dun-client-web-avec-react/1317/1 "2023-09-04T14:34:51Z")

</div>

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/](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 ?

---

<div class="post-metadata">

**Author:** ![julienfr](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/julienfr/32/797_2.png) [@julienfr](https://wazo-platform.discourse.group/u/julienfr)\
**Post date:** [September 5, 2023, 2:47pm UTC](https://wazo-platform.discourse.group/t/creation-dun-client-web-avec-react/1317/2 "2023-09-05T14:47:40Z")

</div>

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:

```auto
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

> **[Documentation: Authentication - Wazo Platform](https://wazo-platform.org/documentation/overview/authentication-admin.html)**

j’ai donc ajouté un fichier /etc/wazo-auth/conf.d/allow\_user\_api.yml

```auto
enabled_http_plugins:
  user_registration: true

```

redémarrer le service

```auto
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

---

<div class="post-metadata">

**Author:** ![julienfr](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/julienfr/32/797_2.png) [@julienfr](https://wazo-platform.discourse.group/u/julienfr)\
**Post date:** [September 5, 2023, 2:56pm UTC](https://wazo-platform.discourse.group/t/creation-dun-client-web-avec-react/1317/3 "2023-09-05T14:56:08Z")

</div>

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 ^^

---

<div class="post-metadata">

**Author:** ![manu](https://avatars.discourse-cdn.com/v4/letter/m/7c8e57/32.png) [@manu](https://wazo-platform.discourse.group/u/manu)\
**Post date:** [September 5, 2023, 7:10pm UTC](https://wazo-platform.discourse.group/t/creation-dun-client-web-avec-react/1317/4 "2023-09-05T19:10:27Z")

</div>

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 !

---

<div class="post-metadata">

**Author:** ![quintana](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/quintana/32/916_2.png) [@quintana](https://wazo-platform.discourse.group/u/quintana)\
**Post date:** [September 5, 2023, 9:00pm UTC](https://wazo-platform.discourse.group/t/creation-dun-client-web-avec-react/1317/5 "2023-09-05T21:00:44Z")

</div>

> [@julienfr](#):
>
> ```auto
> enabled_http_plugins:
> user_registration: true
> 
> ```

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.

---

<div class="post-metadata">

**Author:** ![julienfr](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/julienfr/32/797_2.png) [@julienfr](https://wazo-platform.discourse.group/u/julienfr)\
**Post date:** [September 6, 2023, 6:20am UTC](https://wazo-platform.discourse.group/t/creation-dun-client-web-avec-react/1317/6 "2023-09-06T06:20:12Z")

</div>

@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 !
