Interesting IE 302 Redirection Issue

Yesterday I helped a coworker track down an interesting issue with 302 URL redirection in IE that I thought I'd share. Here is a brief run down of what my co-worker was observing:

  • Users would log into a courseware application, setting a single sign-on cookie. For the purposes of this description lets say the URLwas https://sitea.domain.com.
  • Users would then link out to a related application covered by the single sign-on. Lets say the URL for this related application was https://siteb.domain.com/appa.
  • When users clicked the link in Internet Explorer, instead of being logged in to the related application users were being redirected back to a non existent page in the courseware application, https://sitea.domain.com/appa/index.cfm.

What was interesting about this was that everything worked fine in Firefox, only IE seemed to be having this problem. Realizing the issue probably had something to do with the handling of the SSO in the linked-to application I fired up a proxy (ServiceCapture in this case) to watch the login process. Here is what I saw:

  • When users clicked the "link" in the courseware application they were actually being forwarded to the target application via a 302 HTTP header:

    HTTP/1.1 302 Found
    Location: https://siteb.domain.com/appa/

  • That redirection was immediately followed by another 302 redirection:

    HTTP/1.1 302 Found
    Location: /appa/index.cfm

Looking at the code of the linked-to application I could see that after logging in, which happens automatically on the first visit if the user has the appropriate SSO cookie, the application redirected users back to the home page using a relative URL. The issue was that IE was was calculating this relative URL using the base URL of the original request, https://sitea.domain.com in this example, and not taking into consideration the intermediate redirection to https://siteb.domain.com/appa. Firefox seemed to do a "better" of job of keeping track of which base URL to use for calculating relative URLs. I say "better" because Firefox's behavior seems to make more sense to me.

So there you have it, another reason to love IE.

I'm An Adobe Community Expert

This morning I opened my e-mail only to find a message from Adobe saying that I had been granted membership to the Adobe Community Experts program for 2009.

I have to say I was a little surprised, but I'm definitely looking forward to sharing more of my ColdFusion expertise with the Adobe community in the coming year. Thanks Adobe!

Higher Education Web Symposium Wrap-Up

Last week I had the opportunity to attend the Higher Education Web Symposium here at Penn. Billed as "The first and only web design conference for IT Professionals working in Higher Education" the conference actually had a lot of great content for web developers working in any discipline.

[More]

Contributing to OSS

I use a good deal of open source software in my day to day development and maybe I'm just lucky, but I tend to find bugs in a lot of that software. I'm also the kind of developer that loves to dig into unfamiliar code and figure out what is going on. This usually leads to me tracking down the issue and submitting a patch back to the project. In just the past couple of weeks I've submitted, and had accepted, patches to both the Apache POI project as well as the Firebug project. Now, I'm far from an expert Java or Mozilla developer, but to fix a lot of bugs you don't necessarily have to know the technology in question backwards and forwards. Far more important is the fact that you have found the bug in the first place and have the ability to reproduce it consistently. Once you have done that you can usually track down the one or two lines causing the issue and figure out a solution. This type of bug fixing has lead to my becoming a core committer on a couple of high profile CF open source projects. Having said that, becoming a committer isn't all that common, and you shouldn't necessarily assume your patches will be accepted by the project. I've definitely had more patches ignored or outright rejected than I've had accepted and included in projects.

[More]

Moving On

Blogging has been light lately as I've been busy getting settled into a new job. I'm happy to say that last week I started as a Senior Programmer/Analyst the the Alfred West Jr. Learning Lab at the Wharton School here in Philadelphia. After several years of working on some pretty large enterprise ColdFusion applications this move brings me back to what I was doing about six years ago: developing online educational applications in ColdFusion and Flash. I'm very excited about the move as it will give me the opportunity to work with a great group of developers on some very interesting applications. I'm also excited because many of the applications that the Learning Lab develops are simulations and "serious games" which should be a big change from the e-commerce/content management/CRM type applications I've been working on lately. I've definitely looking forward to learning a lot in the coming months, including Flex, and I hope to share some of it here, so stay tuned...

ColdFire Makes RIAForge Top 3 Projects

This weekend ColdFire hit a milestone by breaking into the Top 3 Projects on RIAForge.

ColdFire is now only about 10,000 downloads behind the top project on RIAForge, something called BlogCFC by some guy named Raymond Camden. :)

Foundations

Anyone who has studied OO programming has probably knows that the idea of design patterns originated in the field of architecture. In fact there are quite a few practices and paradigms the software and construction industries share. I've seen a few examples of this recently in the building of 20 new rowhomes next door to mine.

[More]

OT: What to do in Sydney/Melbourne

My wife has to travel to Australia next month for business so we though it would be a good idea for my daughter and I to tag along. Knowing I have a few Australian readers (and more who have visited I'm sure) I thought I'd ask for suggestions of kid friendly things to do in both Sydney and Melbourne. We will be in Sydney for three full days, staying in The Rocks, and Melbourne for two full days. We are looking for things to do, places to eat, etc. all with a 1 year old. And we still need to find a hotel in Melbourne, so any suggestions of places to stay would be much appreciated.

A Guide to Hiring Programmers

I just read a pretty interesting post via Slashdot: A Guide to Hiring Programmers: The High Cost of Low Quality. A great read for anyone involved in hiring developers.

Google to Add Presentations

A while ago I posted about a couple of Java libraries for working with Powerpoint presentations. Looks like Google has acquired one of the companies I mentioned, Tonic Systems, and will be adding presentations to their Docs & Spreadsheets offerings. I think Google has done a great job with their Docs & Spreadsheets. Given the power of the Tonic software I have no doubt Google will come up with another awesome application.

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.