Ist es möglich, eine Cross-Domain iframe die neue URL nach einer Umleitung zu finden?

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

  •  03-07-2019
  •  | 
  •  

Frage

Ich versuche, auf das Login-Formular einer Anwendung auf einer anderen Sub-Domain von meiner Seite zu veröffentlichen. Es ist eine dritte Partei Anwendung, die ich nicht mit der Quelle Zugriff haben.

Ich weiß, dass Sie nicht die meisten Funktionen eines Cross-Domain-iframe wegen Same Origin Policy zugreifen können . aber alles, was ich zugreifen müssen, ist die URL, die (via JavaScript) innerhalb des iframe umgeleitet worden ist. Es hat eine Session-Information, die ich durchlaufen werden soll.

Das scheint wie etwas, das sicher genug sein könnte erlaubt zu werden, aber ich habe nicht einen Weg, es zu tun noch nicht gefunden. Ich bin mit jQuery, und ich habe $('iframe').contents() versucht, aber ich scheine keine Berechtigungen für das Objekt überhaupt zu haben. Ich habe auch $('iframe').attr('src') geprüft, aber es bleibt, wie die Pre-Redirect-URL. Gibt es eine andere Art und Weise?

War es hilfreich?

Lösung

Nein, Sie haben keinen Zugriff auf beliebigen Eigenschaften in einem Iframe. Sie haben nur Zugriff auf die äußere Positionierung und Stylingeigenschaften.

Aus diesem Grunde Rahmen wie ein Schmerz zu handhaben sind. Ich in der Regel nur, um sie verwenden, wenn ich interessiert nicht, was in ihnen geschieht.

Können Sie nicht eine serverseitige Authentifizierung und Token-Passing tun? Statt mit tun der Client die Authentifizierung können Sie das tun, nicht auf dem Server? Sie müssen möglicherweise einige zusätzliche Arbeit tun, um die HTTP-Anforderung zu erstellen und Analyse der Antwort, aber Sie iframe Probleme vermeiden.

Unterm Strich ist wahrscheinlich iframes sind nicht die beste vertrauen (vor allem, wenn es Cross-Browser-Funktionalität kommt) für wichtige Dinge wie die Authentifizierung.

Andere Tipps

Versuchen Sie, diese Beispiel rel="nofollow (Methode 2), in dem der Autor up setzt einen weiteren iframe innerhalb der erster, eine Seite in der ursprünglichen Domäne zu laden. Die innere Seite ist erlaubt Javascript auf den äußeren Eltern anrufen, da sie in der gleichen Domäne geladen werden. Laden Sie einfach die innere Seite mit entsprechenden Parametern, die an die Eltern weitergegeben werden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top