4 votes

Partager un jeton OAuth avec 2 applications Rails

J'ai deux applications Rails qui ont toutes deux besoin d'accéder à une API tierce. Une seule des applications est sous mon contrôle, l'autre est séparée et hors de mon contrôle. L'autre application utilise OAuth pour obtenir un jeton et traiter les demandes. J'aimerais, d'une manière ou d'une autre, me servir du jeton OAuth de cette application, mais j'ai besoin d'un moyen de le transférer en toute sécurité à mon application. J'ai l'accord de l'application séparée, donc ce n'est pas un problème, en supposant que nous puissions trouver une solution qui soit sécurisée et aussi simple que possible.

Le plus gros problème est que ces deux applications vivent sur la même page (l'une affiche la page entière tandis que l'autre, sous mon contrôle, est juste responsable de quelques requêtes AJAX). C'est pourquoi je ne peux pas simplement autoriser une deuxième fois, mon application AJAX uniquement n'a pas d'interface de connexion et a juste besoin de s'appuyer sur les épaules de l'application principale.

Pour l'instant, je ne vois pas de solution qui n'implique pas le passage d'un jeton non sécurisé dans la source HTML, ce qui rend mon application AJAX vulnérable aux attaques. De plus, j'aimerais éviter que l'application Rails ait à créer des routes pour faire transiter mes requêtes AJAX par leur serveur.

Toute suggestion sur la façon de faire en sorte que mon application AJAX uniquement Rails utilise OAuth de l'application Rails principale serait grandement appréciée. Merci.

0voto

Bill Points 1498

Serait-il possible pour le propriétaire des jetons de créer un compte de base de données en lecture seule pour vous ?

Peut-être, le propriétaire du site, et vous pourriez utiliser la stratégie OAuth aussi ? (Cela pourrait créer des frais généraux importants, mais cela garantira la sécurité des jetons).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X