Hi ladies and gentlemen,
So I’m building this Facebook app running on EE. At some point in the app, users need to log in to an EE account. Works fine in every browser, except for IE.
My facebook app runs inside an iframe (Facebook page tab), and this seems to be the problem. I’ve made a super simple template for testing with a normal exp:member:login_form, which returns to itself:
{if logged_in}
Hi {screen_name}!
{/if}
{exp:member:login_form return="start/login"}
<label>Username</label>
<input type="text" name="username" value="" maxlength="32" size="25">
<label>Password</label>
<input type="password" name="password" value="" maxlength="32" size="25">
<input type="submit" name="submit" value="Submit"></p>
{/exp:member:login_form}Obviously, this login form works perfectly fine when not in an iframe. However, when inside an iframe, the login form simply returns to itself, but doesn’t display “Hi {screen_name}”, indicating that EE thinks you’re not logged in. I think the iframe is not allowed to set a session id by Internet Explorer.
When I target the login form directly (outside of an iframe), log in, and then refresh the iframed login page, it suddenly does recognize the user.
What should I do to allow the iframed login form to actually log a user in? And why is it that any browser works fine, except for IE?
Thanks a lot!