Inicio de sesión único con cuentas Microsoft (aplicaciones de la Tienda Windows)

Propósito

En un equipo con Windows 8, un usuario puede vincular una cuenta Microsoft con una cuenta local o de dominio en ese equipo. Cuando el usuario inicie sesión en ese equipo, podrá iniciar sesión con esa cuenta Microsoft en lugar de hacerlo con la cuenta local. Si las aplicaciones usan las API de Live Connect, podrán detectar automáticamente que el usuario ya inició sesión con una cuenta Microsoft y así evitarán obligarle a hacerlo de nuevo.

Como Windows 8 permite que los usuarios inicien sesión en sus dispositivos con una cuenta Microsoft, los desarrolladores de aplicaciones pueden proporcionar una experiencia de inicio de sesión único en aplicaciones de la Tienda Windows. Por ejemplo, si los usuarios inician sesión en un equipo con Windows 8, también iniciarán sesión en las aplicaciones de la Tienda Windows participantes que permitan iniciar sesión con una cuenta Microsoft.

La manera más sencilla de habilitar el inicio de sesión único en una aplicación es usar el control de inicio de sesión de la cuenta Microsoft que forma parte del kit de desarrollo de software (SDK) de Live. Este enfoque permite que la aplicación autentique sin problemas el usuario y solicite acceso al perfil del usuario y otros datos. Para obtener más información, consulta Control de inicio de sesión de cuenta Microsoft.

Una aplicación que tiene que autenticar un usuario local en el servicio web de la propia aplicación puede usar un token de autenticación, que contiene un identificador de usuario específico de la aplicación y está codificado como un JWT (Web Token) JSON (JavaScript Object Notation). En resumen, la aplicación envía el token a su servicio web, que lo descodifica, guarda los datos de cada segmento del token y después usa el identificador de usuario para comparar la identidad del usuario en sucesivos inicios de sesión.

El token de autenticación se crea concatenando una versión codificada de la carga JSON con una versión firmada y codificada de la carga JSON. El token contiene dos conjuntos de datos: el encabezado, que contiene metadatos sobre el token, y el cuerpo, que contiene los datos reales del token.

En esta tabla se describe el contenido del token.

Propiedad Nombre Notas

Algorithm

alg

El algoritmo criptográfico usado para firmar el token. Solo se admite "HMAC SHA-256".

Type

typ

El tipo de token. Solo se admite "JWT". JWT significa JSON Web Token.

KID

kid

El campo de versión de la clave de la aplicación. Se encuentra en la pestaña de configuración de la aplicación en el sitio de administración de la aplicación.

Version

ver

El identificador de versión del token.

Issuer

iss

La entidad de seguridad que emitió el token.

Expiration

exp

El tiempo de expiración a partir del que dejará de aceptarse el token para su procesamiento. Se expresa como el número de segundos desde la medianoche del 1 de enero de 1970, en Hora universal coordinada (UTC).

Audience

aud

El público de JWT al que se destina el token. En este caso es el nombre de dominio del nombre de la aplicación.

User Identifier

uid

El identificador de usuario, que es único para la aplicación.

Package SID

urn:microsoft:appurl

El identificador de cliente de Windows de la aplicación (si lo hubiera).

 

Proporcionamos un ejemplo de código que muestra el código de servidor para procesar un token de autenticación recibido desde una aplicación. Este token se puede comparar con una versión almacenada previamente para autenticar al usuario comparando los identificadores de usuario. Para obtener más detalles, consulta el tema sobre el inicio de sesión único para aplicaciones y sitios web en el Centro de desarrollo de Live Connect.