This forum is now a read-only archive. All commenting, posting, registration services have been turned off. Those needing community support and/or wanting to ask questions should refer to the Tag/Forum map, and to http://spring.io/questions for a curated list of stackoverflow tags that Pivotal engineers, and the community, monitor.

IE9 infinite loop for singing into facebook app

May 23rd, 2012, 03:39 AM

Hi,

I have a very strange behavior regarding the start up into facebook of a spring social canvas application. It works fine in Firefox and Chrome, facebook redirects without any problems to my local address but with exactly the same code, db, overall configuration for IE9 enters into an infinite loop coming always back to the sigin() method from the SingInAdapter and restarts over and over again the sign-in process. It never actually redirects to the local app.
I debugged into the ProviderSigncontroller code and handleSingIn() method running for IE9 returns correctly the local app url (postSingIn url) like for the Chrome/Firefox cases. It seems that this url propagates in the invocation stack up to a point when, a simple guess, is somehow lost (becomes null) and therefore spring social returns to the sign in process.

Has anyone witness anything similar? Could it be an IE9 setting issue? I've tried with different caching configurations, it made no difference.
Thanks a lot!

I'm going to defer to the Spring Social community to help out with this, as I'm running a Mac and don't have IE9. Anyone out there willing to help out and try this on IE9 to confirm?

One thing you could try, though, is running the spring social canvas sample (or even the spring social showcase sample) with IE9 and see if you see similar problems. This would help determine if it's a problem with IE9 and Spring Social itself or if there's some other configuration issue in your code.

Also, please note that the spring social canvas sample, although working, does not represent the most idiomatic approach to writing canvas apps with Spring Social. The proper way to deal with canvas apps is to accept the signed request given by Facebook in the initial POST from Facebook and decode it to get the access token; there's no need to go through the authorization process driven by Spring Social's ConnectController or ProviderSignInController. I've got it on my todo list to update the canvas sample, but that just hasn't bubbled to the top of my priorities yet.

I could, I suppose, install Windows on a VM and try it out, but that's going to take a bit of time (and I don't have a Windows disc or ISO handy to install). If I get some time, I might try it...but it would be much faster and more convenient if someone in the community who already has IE9 could help out.

Comment

Don't know if it's worth anything, but most of our infinite loops and buggy things with IE where because of expired token and issues with response headers.
for example returning application/json or stuff like that.
I'm guessing that if you're doing some ajax things, that could cause some issues.
does it happen in ie8 as well? does it happen when you're signed in to FB? what happens when you're not?
have you tried delete the token and initiated the flow again?

ps - once again - can anyone just get rid of this browser?!

Comment

I've tried to run again the spring canvas sample, as my facebook app was built upon that. The way we interact and signin into facebook is done in a similar fashion. However, to my surprise I cannot run anymore the canvas sample. I get some JSTL error

Comment

Just want to add that I have my old configuration unchanged: Tomcat 6.0, servlet api 2.5 and I downloaded the canvas app several times from GIT and reinitialized the glassfish jstl jars again several times .... nothing removed this problem.