Est-il possible de trouver la nouvelle URL d'un iframe interdomaine après une redirection?

StackOverflow https://stackoverflow.com/questions/815409

  •  03-07-2019
  •  | 
  •  

Question

J'essaie de publier le formulaire de connexion d'une application sur un autre sous-domaine de mon site. C'est une application tierce à laquelle je n'ai pas accès à la source.

Je sais que vous ne pouvez pas accéder à la plupart des fonctionnalités d'un iframe interdomaine à cause de la règle d'origine. . Cependant, tout ce dont j'ai besoin d'accéder est l'URL qui a été redirigée (via JavaScript) dans l'iframe. Il contient un jeton de session que je souhaite transmettre.

Cela semble être quelque chose qui pourrait être suffisamment sûr pour être autorisé, mais je n'ai pas encore trouvé le moyen de le faire. J'utilise jQuery et j'ai essayé $ ('iframe'). Contents () , mais il semble que je ne dispose d'aucune permission sur cet objet. J'ai également vérifié $ ('iframe'). Attr ('src') , mais il reste l'URL de pré-redirection. Y a-t-il un autre moyen?

Était-ce utile?

La solution

Non, vous n'avez accès à aucune des propriétés d'un iframe. Vous avez uniquement accès aux propriétés de positionnement et de style externes.

C’est la raison pour laquelle les cadres sont si difficiles à manipuler. Je ne les utilise habituellement que si je me fiche de ce qui se fait en leur sein.

Ne pouvez-vous pas effectuer une authentification côté serveur et un transfert de jeton? Au lieu que le client effectue l'authentification, ne pouvez-vous pas le faire sur votre serveur? Vous devrez peut-être effectuer un travail supplémentaire pour créer la requête HTTP et analyser la réponse, mais vous éviterez les problèmes d'iframe.

En bout de ligne, les iframes ne sont probablement pas les meilleurs sur lesquels compter (en particulier en ce qui concerne les fonctionnalités multi-navigateurs) pour des tâches importantes telles que l'authentification.

Autres conseils

Essayez cet exemple (méthode 2) dans lequel l'auteur configure un autre iframe à l'intérieur du Tout d'abord, charger une page sur le domaine d'origine. La page interne est autorisée à appeler javascript sur le parent externe, car ils sont chargés dans le même domaine. Il suffit de charger la page interne avec les paramètres appropriés, qui peuvent être transmis au parent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top