Je construis une application Facebook Connect qui fonctionne dans un gadget Google. Être un gadget signifie que l'application s'exécute dans un iframe. Dans l'application, il y a un formulaire qui permet aux utilisateurs enregistrés de poster des commentaires. La soumission est faite en utilisant AJAX, mais j'obtiens les mêmes résultats avec une forme normale. Le problème est que j'ai besoin d'obtenir l'identifiant facebook de l'utilisateur. Dans Firefox, il fonctionne très bien, mais sur Internet Explorer 7, je reçois l'erreur suivante:Application Facebook Connect à l'intérieur de iframe ne fonctionne pas dans IE7
'A session key is required for calling this method'
Je crois que cela est dû à la façon dont IE gère les cookies tiers, parce que si je vais aux options Internet/Confidentialité/Avancé, et cocher Remplacer la gestion automatique des cookies et accepter tous les cookies, cela fonctionne très bien. Je ne peux pas passer l'identifiant Facebook du javascript, parce que n'importe qui pourrait l'altérer.
EDIT: Si j'ouvre directement le contenu de l'iframe, l'application fonctionne correctement. Le problème est vraiment dû au modèle de sécurité IFRAME et IE.
Qu'est-ce que je fais quelque chose de mal? Comment puis-je contourner ce problème?
je frappe un problème similaire avec une application Facebook Connect qui fonctionne à l'intérieur d'un iframe superposé sur un site tiers , sauf que j'ai aussi le problème avec Safari et Firefox, si les utilisateurs ont choisi de ne pas accepter les cookies tiers. Avez-vous vu les mêmes problèmes ici, ou est-ce que je manque quelque chose? –
Je n'ai pas essayé de bloquer les cookies tiers sur d'autres navigateurs, mais cela devrait causer les mêmes problèmes. Je suis allé pour la solution d'ouverture d'un popup. En fait, Facebook utilise maintenant un "faux" popup dans mon popup, au lieu d'ouvrir une autre fenêtre, ce qui est ok pour moi. –