Solução de problemas de páginas de resposta em branco ao usar a federação com o ACS e o Facebook

Artigo original publicado em 12 de julho de 2011, terça-feira

Já vi este cenário surgir algumas vezes recentemente quando trabalhei em vários cenários de federação. Estes casos sempre envolvem usar o Facebook como uma fonte de oAuth para logon ou o AppFabric ACS do Azure como um provedor de identidade federada. O comportamento comum é que você está fazendo algo interativamente pelo navegador ou programaticamente pela criação de um POST para ACS. Nos dois casos, você obterá um erro na resposta, mas o erro geralmente não terá descrições. Por exemplo, ao usar o recurso oAuth do Facebook, você é redirecionado para o site para efetuar logon, inserir suas credenciais e ser redirecionado de volta para o seu aplicativo. No entanto, quando há um problema, na maioria dos casos, o navegador apenas diz que você obteve uma resposta 400 e o servidor encontrou um erro. É isso. O mesmo acontece quando postamos programaticamente para o ACS: quando há um problema, você geralmente obtém uma resposta de erro 400 de volta que muitas vezes diz "página não encontrada" ou algo semelhante. Como isso que ajuda você? Não ajuda!

Infelizmente, descobri que a melhor coisa a se fazer quando você vê estas páginas é usar o Fiddler (www.fiddler2.com). Você encontrará muito mais detalhes na resposta do Fiddler que o navegador nunca mostrará. Por exemplo, em um dos problemas do ACS, vi no Fiddler que os detalhes de resposta incluídos diziam que a mensagem POST estava formatada incorretamente. Isso é muito mais útil do que "página não encontrada", que realmente não faz sentido. Ou nos problemas do Facebook, descobrimos que no Fiddler, a resposta dizia que eu estava sendo redirecionado de volta para um URI inválido ou não confiável. Isso sim é muito mais útil que apenas me dar um erro 400 e dizer que a solicitação é inválida.

Então essa é a idéia: quando você chegar nestes impasses aparentes, use o Fiddler e examine os detalhes das respostas para testar e encontrar detalhes úteis reais sobre o que aconteceu. 

Esta é uma postagem de blog traduzida. Consulte o artigo original em Troubleshooting Blank Response Pages When Using Federation with ACS and Facebook