2014-08-28 5 views
2

Ok J'ai une API écrite dans node.js à laquelle j'essaie d'ajouter une fonctionnalité de session. l'API est complètement RESTful. Lorsque l'utilisateur se connecte, j'envoie le combo utilisateur/passe avec un appel GET ajax au point de terminaison/login. Le serveur sépare alors le mot de passe et le compare au hash stocké dans mon mongo db. Il répondra alors avec vrai ou faux selon le succès de la connexion. Ce que je veux mettre en œuvre est la suivante: Lorsqu'un utilisateur entre un login valide, le serveur génère une clé de session. Cette clé est stockée dans mongo dans le document de l'utilisateur. Cette clé de session est ensuite renvoyée avec la requête GET. Cette clé de session sera ensuite incluse dans le corps JSON de toutes les demandes futures pour permettre à l'utilisateur d'accéder aux informations de son compte.Enregistrement des clés de session dans localstorage

Ma question: est-il sécuritaire de stocker cette clé de session dans localStorage ou sessionStorage du navigateur? Est-ce que cela va ouvrir l'utilisateur à des vulnérabilités?

+0

Donc, au lieu de MongoDB vous voulez stocker la clé de session dans le navigateur? – vmr

+0

Non, je veux le stocker dans MongoDB ET sessionStorage afin que la clé de session puisse être incluse avec chacun des appels RESTful AJAX. –

Répondre

1

Utilise un lien vers secruity.stackexchange qui explique les vulnérabilités possibles. Selon le W3C, le stockage Web est sûr pour sensitive data.

+0

Merci c'est une bonne ressource à avoir. –

+0

Pas de problème! Je travaille beaucoup avec Session et Local Storage ces derniers temps. Les solutions de stockage côté client ne sont définitivement pas parfaites, et comme elles peuvent être implémentées différemment selon les navigateurs, il n'y a pas de véritable «solution». –

Questions connexes