2008-11-17 8 views
4

Je suis un nouveau venu dans le développement d'applications AIR, alors c'est peut-être une question stupide, mais je n'arrive pas à trouver de réponses de google. Toute aide que vous pouvez me donner est grandement appréciée.Secret partagé avec API dans une application Adobe AIR Ajax

Je construis une application AIR avec Ajax en utilisant une API qui est identique à Api de flickr, avec une clé secrète partagée. Le problème est que le paquet d'installation d'air contient toute la source et je ne veux pas donner mon secret partagé. Est-ce qu'il y a un moyen de faire ça? Puis-je cacher une source, ou d'une manière ou d'une autre inclure ce secret partagé dans l'application sans le donner?

Merci pour votre aide.

+1

Qu'est-ce que l'API? Nous ne le dirons à personne. –

Répondre

0

Première question - est-ce que la licence vous permet d'écrire une application et de la donner à quelqu'un d'autre pour l'utiliser avec votre clé plutôt que d'avoir sa propre clé?

Si c'est le cas, et s'il s'agit d'un SDK compatible AIR, ils devraient avoir une méthode qu'ils recommandent.

EDIT:

This question décrit comment flickr donne accès à des ressources supplémentaires avec une clé. S'il s'agit d'une application AIR, passez-vous à travers les cerceaux de sandbox pour fournir une application Internet et de bureau simultanée?

2

Vous pouvez utiliser EncryptedLocalStore pour stocker votre clé API en toute sécurité. Mais, vous ne pourrez pas le distribuer avec l'application car le cryptage du magasin dépend du système d'exploitation sur lequel l'application s'exécute.

Une méthode pour semer le magasin serait, sur l'application Installons:

  1. Run installation
  2. d'exécuter des scripts post-installation au besoin.
  3. Vérifiez le magasin. Si aucune clé n'est présente, téléchargez la clé depuis votre site Web et stockez-la dans l'ELS.

En utilisant cette méthode, l'utilisateur ne connaîtra jamais votre clé, mais il sera présent dans le magasin de l'application.

+1

Comment obtenez-vous la clé lors de la première installation de l'application AIR sur le client? Ce sera dans le code, qui apparemment l'utilisateur a selon le demandeur de la question. – user43636

+1

Lire l'étape 3 ci-dessus. L'application ne serait pas livrée avec la clé, mais la première fois qu'elle est lancée, elle se connecterait à son site Web et télécharger la clé pour le stockage dans le ELS. –

+0

Je suis corrigé. Je vous remercie. – user43636

0

Je stockais la clé sur le serveur et la récupérais en utilisant SSL (https: //) et la classe flash.net.URLLoader ou la stockais dans le SQLite database crypté. Évidemment, la base de données crée beaucoup plus d'overhead si vous ne l'utilisez pas déjà, donc j'irais avec la première option si vous n'allez pas utiliser la base de données SQLite maintenant ou dans le futur.

0

Vous pouvez utiliser EncryptedLocalStore comme Pierre-Yves Gillier mentionné. Il existe une méthode pour détecter si l'application est exécutée depuis la première fois. Mais je voudrais aller à cette méthode:

Vérifiez si le Encryptedlocalstore a la clé api et si ne pas le saisir du serveur et le stocker.

Questions connexes