O comando certo no lugar certo

Essa semana aconteceu uma daquelas coisas muito irritantes. Ao liberar, em produção, uma nova versão do sistema a autenticação com o Facebook não estava funcionando. E não posso dizer que foi falta de teste, havia sido bem verificado.

Durante umas 3 horas eu mexi em todas as configurações possíveis e impossíveis, tanto no app do Facebook, quanto no IIS e nada. Com as configurações do ambiente de desenvolvimento funcionava perfeitamente.

Depois de algumas trocas de ideias eu fui olhar no código fonte em C#, revira daqui e dali e acho uma classe que não sabia que existia (feita por um outro colega) e começo a depura-lá.

O código da classe não parecia ter sido feito pelo meu colega, procurei na internet e achei um código bem parecido (http://social.msdn.microsoft.com/Forums/en-US/7ef9a2b0-c150-458e-9980-d1254837d0dd/aspnet-mvc-facebook-login-returns-wrong-url), porem com uma leve diferença no método GetHtml.

Para encurtar a história, quando a URL para o Facebook era montada (http://endeco.com.br:80/LoginFacebook) a porta 80 gerava um bug em algum lugar na API do próprio Facebook. Logo o comando

.Replace("%3a80", "")

retirava a anomalia e o código funcionou perfeito.

No ambiente de testes funcionava correto pois o endereço era http://localhost:52576, uma porta qualquer.

MALDIÇÃO!!!!!!!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s