Supposons que j'ai créé mon service REST en douceur et que je renvoie des résultats JSON.Protection de mon service REST, que j'utiliserai du côté client avec APIkey
J'ai également mis en œuvre la clé API pour mes utilisateurs de communiquer pour mon service. Puis, la société A a commencé à utiliser mon service et je lui ai donné une clé API.
Par exemple, laisse supposer que mon URL de service est la suivante:
https://api.myservice.com/data?apikey= {key_comes_here}
principal problème est que je vais avoir mon propre site web qui a également besoin d'appeler mon propre même web REST un service. Si je passe la clé API de mon site Web lorsque j'appelle mon propre service REST, qu'est-ce qui empêchera quelqu'un d'utiliser par exemple Firebug, voir quelle clé API j'utilise dans mon application web et utiliser la même clé API?
Le référent ne peut-il pas être usurpé? http://en.wikipedia.org/wiki/Referrer_spoofing – djna
Cela semble très bien, mais si je dois exposer l'accès à mon service Web à partir d'un appareil mobile? –
@djna Le référent peut bien sûr être usurpé, mais lorsque vous présentez une API publique pour une utilisation sur des sites Web, les utilisateurs accèdent à l'API via leur navigateur Web standard. Si un utilisateur normal doit usurper le referer, le site Web ne sera pas disponible pour la majorité des utilisateurs. Si l'utilisateur a un accès direct à l'API, il peut toujours voir votre clé d'API, même lorsque le site est protégé par HTTPS. Donc, si vous voulez cacher la clé, je pense que vous devriez accéder au service à partir d'un système dorsal. Si vous souhaitez protéger le trafic d'arrière-plan contre les renifleurs de réseau, vous pouvez utiliser HTTPS. –