2016-12-08 1 views
0

Je voudrais savoir comment gérer la sécurité de l'application côté client (application web) en Watson IOT.
Pour envoyer le message MQTT aux périphériques, je dois utiliser les clés API de l'application. Puisque nous ne pouvons pas assigner une sécurité basée sur le nom d'utilisateur/mot de passe (comme l'accès en lecture/écriture à/user1) comme un courtier MQTT standard, comment puis-je protéger l'utilisateur pour envoyer des commandes à des périphériques non autorisés?Watson bluemix iot - Sécurité de l'application côté client

J'essaie de faire quelque chose de similaire à ceci: StackOverflow - Amazon Client Side Application

Répondre

1

Si vous cherchez à limiter un utilisateur à certains périphériques, vous pouvez mapper l'utilisateur à la clé API. Ensuite, vous pouvez créer une logique d'autorisation dans votre application javascript.

Par exemple, en fonction de la clé API:

  • abonnez-vous à certains sujets d'événement « IOT-2/Type/device_type/id/device_id/EVT/event_id/FMT/format_string "
  • abonnez-vous à certains sujets de commande" IOT-2/Type/device_type/id/device_ID/cmd/command_id/FMT/format_string "
  • publier uniquement à certains sujets de commande "IOT-2/Type/device_type/id/device_id/cmd/command_id/FMT/format_string"
+0

Mon code aura une logique d'autorisation, de sorte que l'utilisateur peut envoyer une commande uniquement à un périphérique spécifique. Le problème est que si quelqu'un a accès à la clé API (en regardant le code ou en décompressant l'application mobile), il peut envoyer une commande à n'importe quel appareil. Mais il ne peut pas le faire avec l'exemple ci-dessus d'Amazon AWS. – rick07

+0

Désolé, j'ai mal compris votre question. Vous ne voulez pas coder en dur les informations d'identification (clé/jeton API). Vous aurez besoin de –

+0

.. Vous aurez besoin d'utiliser un service backend externe pour obtenir les informations d'identification –