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.