Cómo funciona el inicio de sesión único del agente de autenticación web

El agente de autenticación web habilita el inicio de sesión único (SSO) permitiendo que las cookies persistentes (por ejemplo, cookies de inicio de sesión) residan en un contenedor de aplicación SSO de propósito especial. La aplicación llama a una sobrecarga especial del método AuthenticateAsync para solicitar que se ejecuten los hosts de autenticación en dicho contenedor de aplicación. Para proteger las cookies que pudieran existir, el agente requiere que la dirección URL de redirección tenga el formato “ms-app://<SID>” donde <SID> coincide con el SID de paquete de la aplicación que realiza la llamada.

Por ejemplo, Fabrikam es el desarrollador de una aplicación de la Tienda Windows que usa los servicios de Contoso.

En tiempo de desarrollo, Fabrikam registró su aplicación en el Centro de desarrollo de Windows y, como resultado, recibió un SID único. Después, Fabrikam registró su aplicación en Contoso.com, incluidas dos de sus direcciones URL de redirección, una de las cuales era "ms-app://S-1-5-4321".

En tiempo de ejecución, la aplicación de la Tienda Windows de Fabrikam invoca al agente de autenticación web en modo SSO. Como parte del procesamiento de la solicitud, Contoso.com comprueba que la dirección URL de redirección esté en el conjunto de direcciones URL registradas. Después de que Contoso autentica al usuario, redirige a la dirección URL de redirección solicitada anexando un token de acceso: "ms-app://S-1-5-4321?token=ABC". Cuando el agente de autenticación web encuentra una dirección URL con este formato que coincide con el SID de la aplicación que realiza la llamada, devuelve el token incluido en la cadena de consulta o publica los datos de nuevo en la aplicación.

Si ya se hubieran creado cookies en el contenedor de aplicación SSO, el usuario no tendría que iniciar sesión en Contoso. Si otra aplicación tratara de suplantar la aplicación de Fabrikam, no podría porque Contoso comprobó la identidad de la aplicación asegurándose de que se estaba solicitando una de las direcciones URL de redirección registradas y el agente de autenticación web se aseguró de que solo la aplicación que comparte el mismo SID al que Contoso quiere redirigirse obtiene los datos del protocolo.

Requisitos para habilitar SSO

Para que los desarrolladores de aplicaciones de la Tienda Windows aprovechen las ventajas del modo SSO del agente de autenticación web, un proveedor debe hacer lo siguiente.

  • Permitir direcciones URL con el formato ms-app://SID, donde SID es el SID del usuario.
  • Indicar a los desarrolladores de aplicaciones que llamen a la versión de AuthenticateAsync que no especifica una dirección URL de redirección. Si el proveedor proporciona un SDK para el desarrollo de aplicaciones de la Tienda Windows, dicho SDK debe usar también esta sobrecarga.

Temas relacionados

Muestra de agente de autenticación web

Windows.Security.Authentication.Web

Conexión a proveedores de identidad en Internet