2010-11-04 9 views
9

J'utilise l'API de stockage local HTML 5 pour stocker le jeton d'accès d'un utilisateur. Les demandes puis ajoute ce jeton pour accéder à mon API côté serveur. Je me demande si j'ai besoin d'espace de noms les clés que j'utilise. Est-ce que le navigateur s'en occupe ou dois-je appeler la touche quelque chose comme 'my-awesome-app-token'? J'ai remarqué que Twitter le fait pour certains paramètres de recherche.Espace de noms HTML 5 clés de stockage local

BTW, je sais que ce n'est pas sûr de stocker le jeton là, mais la sécurité n'est pas importante ici, la question est sur les clés de l'espace de noms.

Merci!

Répondre

4

Non, vous n'avez pas besoin de le faire, un localStorage pour chaque sous-domaine.

4

Je vois que chaque réponse à cette question vous dit que vous n'avez pas besoin de "namespace" vos clefs locales de stockage. Je ne suis pas si sûr que c'est correct.

Supposons que vous développiez une application et que vous deviez exécuter plusieurs instances de cette application. Cela pourrait être un système de test et de production, ou plusieurs systèmes de test. Quoi qu'il en soit, si ces applications fonctionnent sur le même protocole/serveur/port, mais avec une URL différente, elles auront accès au même localstorage. Si vos clés utilisent des noms que n'importe quel développeur pourrait utiliser comme "user", "data", "cache", vous pourriez finir par lire localstorage à partir d'une autre application. Si cette application est en cours d'exécution sur le même serveur. Pour être sûr, vous pourriez vouloir utiliser un préfixe d'application pour vos clés et peut-être aussi un identifiant d'application si vous voulez exécuter plusieurs instances sur le même serveur.

Si j'ai mal compris le fonctionnement de localstorage, veuillez me corriger.

0

Les autres réponses adressent des espaces de noms inter-applications, mais les espaces de noms sont également importants dans le cas de différentes bibliothèques utilisées par la même application. Si vous développez une telle bibliothèque, il serait probablement respectueux envers les autres développeurs de bibliothèques (ou même votre futur moi-même) d'utiliser l'espace de stockage de votre bibliothèque comme espace de stockage.

Un exemple que j'ai rencontré ce soir utilise la clé de stockage nonce. Si plusieurs bibliothèques essayaient chacune d'utiliser nonce dans la même application, cela poserait problème. Si vous développez une bibliothèque pour une utilisation par d'autres développeurs, il serait bon de fournir une option de préfixation: myapilib_ + nonce.