Bonjour,
J'ai lu à plusieurs reprises qu'il fallait se méfier du JS du point de vue sécurité puisqu'on pouvait modifier les variables dans son navigateurs en cours d'exécution. Je ne sais pas si j'ai bien compris car je n'ai pas réussi à faire cela (sans avoir beaucoup cherché non plus).
Toujours est-il que je suis en train d'implémenter l'authentification (via keycloak, mais je pense que ce n'est pas important) dans une application React et je vois souvent dans le code proposé sur internet qu'on se base sur un booléen ("authenticated") pour savoir si l'utilisateur est bien authentifié et lui permettre d'accéder à des ressources. Si l'utilisateur peut modifier les variables JS facilement, comment cette façon de faire peut-elle être sûre ??
Voici un exemple de ce que j'ai trouvé :
Pourriez-vous éclairer ma lanterne et me dire ce que j'ai mal compris :-) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 keycloak.init({ onLoad: 'login-required' }).then(authenticated => { setKeycloak(keycloak) setAuthenticated(authenticated) // on a défini un useState contenant authenticated et on met à jour après connexion // NB : Si je demande l'affichage de authenticated dans la console, j'obtiens true : c'est un simple booléen en apparence ... }) ... // Plus loin dans le code ou dans un autre composant : if (keycloak) { if (authenticated) return ( // Du code valide pour un utilisateur authentifié... )
Partager