Risoluzione dei problemi relativi a pagine di risposta vuote quando si utilizza la federazione con ACS e Facebook
Articolo originale pubblicato martedì 12 luglio 2011
Questo problema si è verificato alcune volte durante l'utilizzo di diversi scenari federativi. Questi casi prevedono sempre l'utilizzo di Facebook come origine oAuth per l'accesso o di AppFabric ACS di Azure come provider di identità federative. Il problema si verifica in genere mentre si effettuano operazioni interattive con il browser oppure a livello di programmazione eseguendo un'operazione di POST in ACS. In entrambi i casi, nella risposta viene restituito un errore, generalmente di tipo nondescript. Quando ad esempio viene utilizzata la funzionalità oAuth di Facebook, si viene reindirizzati al sito per l'accesso, si immettono le credenziali e quindi si viene reindirizzati di nuovo all'applicazione. In caso di problemi, nella maggior parte dei casi nel browser viene indicato che esiste una risposta 400 e che il server ha rilevato un errore. Questo è tutto. Analogamente, quando si eseguono operazioni di POST a livello di programmazione in ACS, in caso di problemi si visualizza una risposta di tipo 400 simile a "pagina non trovata". Tutto questo non è di alcun aiuto.
La soluzione migliore che ho trovato per risolvere il problema che si verifica con queste pagine consiste nell'utilizzare Fiddler (www.fiddler2.com). Si otterranno molti più dettagli nella risposta di Fiddler di quanti non ne vengano visualizzati nel browser. Ho ad esempio utilizzato Fiddler per un problema di questo tipo con ACS e nella risposta sono stati inclusi dettagli con l'indicazione che il messaggio POST era formattato in modo non valido. Queste informazioni sono decisamente più utili del vago "pagina non trovata", che non sembra avere molto senso. Come altro esempio, relativo questa a volta a Facebook, ho scoperto che nella risposta di Fiddler viene indicato effettivamente che si viene reindirizzati a un URI non valido o non attendibile. Molto più utile di uno scarno errore 400 di richiesta non valida.
Il punto è questo. Quando si giunge a questi apparenti punti morti, è consigliabile utilizzare Fiddler ed esaminare i dettagli delle risposte per trovare informazioni effettivamente utili su quanto è accaduto.
Questo è un post di blog localizzato. L'articolo originale è disponibile in Troubleshooting Blank Response Pages When Using Federation with ACS and Facebook.