Ah okay, So what seems to have been happening, is that the my custom auth protocol was handling the initial request, then when the redirect request came in, a second caching protocol was intercepting the request for the images and breaking the redirect.
In the authprotocol, in the startLoading method I do the following:
[NSURLProtocol setProperty:@YES forKey:@"AuthSet" inRequest:newRequest];
So in the caching protocol's canInitWithRequest method I do the following:
if([NSURLProtocol propertyForKey:@"AuthSet" inRequest:request] != nil)
return NO;
Since, when we are caching, we have no need to follow redirects. So basically if the Auth protocol grabs the request, the caching protocol should not respond to it.
Will update after some testing to see if there are any other side effects.