Using OAuth, when I revoke my credentials on the server, it will reply to the next request with an error code 401.
But when using WinJS.xhr/XmlHttpRequest, the runtime will automatically re-send the request, leaving out the Authorization header. Then, the server replies with a 400 Bad Request, which is then passed on to my error handler. Why?!?!
There is nothing in RFC 2616 which suggests that this behaviour would make any sense. Debugging such stuff is complicated. Luckily Wireshark runs on Windows 8.. and our test environment doesn't force HTTPS.
But now, there is no way for me to find out that my authorization has been revoked. A web search suggests that this behaviour is a known and relatively widespread problem. Is there any way to prevent this behaviour to get the real 401 error in my application?