Dificultades de autenticación de la aplicación móvil de Azure MSA

Así que estoy trabajando en un proyecto para volver a implementar una aplicación que anteriormente estaba alojada como un servicio móvil de Azure como una aplicación móvil de Azure. Dicha aplicación tiene un frontend (alojado como una aplicación web en Azure) y una API de back-end (esta es la aplicación móvil) que se llama directamente desde el javascript del frontend. La actualización había ido bien hasta que comencé a trabajar en la pieza de autenticación de cuenta de Microsoft. Siguiendo las instrucciones en ...

https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-net-upgrading-from-mobile-services

https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-how-to-configure-microsoft-authentication

... puso todo en marcha. Mi aplicación se ha registrado en el Centro de desarrolladores de cuentas de Microsoft, especifiqué un URI de redireccionamiento siguiendo el formato 'https: // {{my_backend_mobile_app_name}} .azurewebsites.net / .auth / login / microsoftaccount / callback', configuré la autenticación de Microsoft / Autorización en la hoja apropiada de mi aplicación móvil en Azure usando ClientId / Secret del Centro de desarrolladores de cuentas de Microsoft. La mayoría de las cosas salen bien cuando lo pruebo: puedo ir a la interfaz de mi aplicación y hacer clic en el botón 'Iniciar sesión', se abre una nueva ventana con el sitio de inicio de sesión de Microsoft Live, donde se me solicita que inicie sesión con una cuenta de Microsoft, Lo hago con éxito y soy redirigido a la URL de redireccionamiento especificada en el Centro de desarrolladores de cuentas de Microsoft y tiene valores de código y estado adjuntos en la cadena de consulta.

Sin embargo, la página que se muestra cuando me redirigen es un "No tienes permiso para ver este directorio o página". Si copio la URL, abro una nueva pestaña, la pego y presiono enter me lleva a la página 'Has iniciado sesión correctamente'. Pero de ninguna manera me lleva de vuelta al front-end de mi aplicación, donde me registraría y continuaría en el sitio ya que todo sigue sucediendo en la nueva ventana que se abrió para iniciar sesión. Si cierro esa ventana, el proceso de autenticación ve que como 'Cancelación' del inicio de sesión y requiere que inicie sesión nuevamente (lo que simplemente repite el proceso anterior). Si dejo la ventana abierta y vuelvo a la ventana con mi sitio frontend, todavía está esperando una respuesta del proceso de inicio de sesión.

Entonces esto me lleva a mi pregunta principal: ¿Cómo consigo que el proceso de autenticación de la cuenta de Microsoft realmente devuelva la respuesta de inicio de sesión a mi sitio frontend en lugar de a la ventana de inicio de sesión?

Nota al margen, He actualizado los SDK tanto para el frontend como para el backend desde los del Servicio móvil a los de la Aplicación móvil. Al hacerlo, tuve que agregar un middleware OWIN (según las instrucciones en el enlace n. ° 1 anterior, debajo del encabezado 'Actualización del proyecto del servidor') a mi aplicación de back-end. Mi hipótesis actual es que este middleware de OWIN no está configurado correctamente para la autenticación y está impidiendo que la devolución de llamada funcione correctamente; por lo tanto, estoy jugando con elapp.UseAppServiceAuthentication(new AppServiceAuthenticationOptions()); pieza.

Respuestas a la pregunta(1)

Su respuesta a la pregunta