configuración cliente acceso http oauth skydrive windows-live-id

http - cliente - azure oauth2



¿Cómo se define la URL de redirección de Microsoft Live OAuth para aplicaciones web locales? (1)

Con OAuth, ClientID y redirect_url tienen una conexión sólida: necesita un ClientID separado para cada redirect_url. Este es un problema para las aplicaciones locales que tienen múltiples implementaciones en múltiples dominios.

¿Hay alguna forma de implementar la autenticación OAuth desde un dominio desconocido? La única alternativa que podría surgir requiere un "servidor de autenticación" dedicado en un dominio fijo que se puede usar como redirect_url y luego puede realizar un nuevo redireccionamiento sin restricciones al dominio del cliente.

Las aplicaciones de escritorio solucionan este problema al proporcionar un dummy redirect_url y luego alojar la ventana de autenticación en vivo en un marco web dedicado que les permite escuchar las solicitudes de redireccionamiento. Esto les permite leer el código de autorización de la URL de redireccionamiento, incluso si la URL en sí no es válida. Creo que esto no es posible en los navegadores web debido a restricciones entre dominios.

Esencialmente, se necesitaría OAuth para apoyar la publicación de SkyDrive en una aplicación web local.


RFC 6749 (OAuth 2.0) establece que el servidor de autorización debe exigir que redirect_uri sea prerregistrado para los clientes públicos, pero no para los clientes confidenciales , siempre que no utilicen la concesión implícita. Dependiendo de si proporciona sus credenciales de cliente con la instalación o si el administrador del sistema ingresa sus propias credenciales de cliente, su sistema terminaría en diferentes categorías. Sin embargo, la RFC recomienda que siempre se requiera un redirect_uri prerregistrado, por lo que es probable que tenga el mismo problema con cualquiera de las categorías.

Yo diría que la única solución viable para usted es requerir que el administrador del sistema del sistema suministre sus propias credenciales de cliente al configurar el sistema. Si proporcionan sus propias credenciales de cliente, también necesitarían registrar su propio redirect_uri con el servidor de autorización, y el problema se resuelve de ese modo.

No debe implementar un servidor de autenticación intermediario porque eso abriría la seguridad de su aplicación. Si un usuario autoriza una instalación de su sistema, autorizarán automáticamente todas las instalaciones que a su vez pueden poner sus datos personales a disposición de otras organizaciones distintas de las que han autorizado.