2016-03-14 2 views
1

Je construis une application Ruby on Rails (Rails - v4.2.3 & Ruby 2.2.2) qui consomme une API REST existante. L'API mentionnée ci-dessus est écrite en PHP. J'ai besoin d'aide pour gérer l'authentification?Authentification avec une API externe existante

sur la recherche dans divers forums, je suis tombé sur ces deux pierres précieuses

  1. https://github.com/lynndylanhurley/devise_token_auth
  2. https://github.com/gonzalo-bulnes/simple_token_authentication

Le problème que je suis confronté à la fois est qu'ils exigent mon application d'avoir un modèle d'utilisateurs configuré (en utilisant Devise). Cependant, mon application est principalement une interface pour l'API REST existante. Si je configure mon propre modèle utilisateur, je me retrouverai avec deux banques de données (une pour l'application que je crée et l'autre pour l'API existante).).

Je souhaite consommer l'API externe et ne pas avoir de modèles natifs pour mon APP.

Je crois que je peux utiliser ActiveResource pour cela (je besoin de plus de points de réputation pour poster un lien vers la pierre précieuse, désolé, je ne peux pas le faire en ce moment, je suis nouveau à StackOverflow):

Cependant, je ne suis pas sûr comment gérer la sécurité de l'application. Plus précisément, quelles mesures puis-je prendre pour empêcher que les informations d'authentification soient affichées en clair pendant qu'elles sont transmises à mon serveur API pour authentification?

Merci.

+0

Etes-vous sûr que Rails est vraiment le bon outil? Vous pouvez utiliser un SPA comme braise ou angulaire à la place. Si vous créez une application qui consomme uniquement une API effectuant un rendu dans le client, cela pourrait vous donner une bien meilleure expérience. – max

+0

@max Eh bien, vous avez un point là-bas, mais c'est seulement à ce stade que j'ai besoin d'utiliser une API externe. Les extensions de l'application peuvent être telles que nous devrons peut-être construire des pièces qui nécessitent des modèles Rails, etc. Nous réalisons toujours une étude de faisabilité sine le contenu existant est hérité d'autres entités. Merci pour votre réponse si. Cela me donne un meilleur aperçu de l'analyse de faisabilité technique que je dois effectuer :-) –

Répondre

0

Utilisez HTTPS sur votre API. Si votre API externe utilise HTTPS, les informations utilisateur ne seront pas envoyées en clair à partir de votre application rails. N'oubliez pas d'utiliser HTTPS pour votre application rails, car c'est plus important.

+0

merci pour votre réponse! Je vais certainement utiliser cela. –