Tokens de id. de la Plataforma de identidad de Microsoft
El servidor de autorización emite tokens de identificador que contienen notificaciones con información sobre el usuario. Se pueden enviar junto o en lugar de un token de acceso. La información de los tokens de identificador permite al cliente comprobar que un usuario es quien dice ser.
Las aplicaciones de terceros están diseñadas para comprender los tokens de identificador. Los tokens de identificador no se deben usar con fines de autorización. Los tokens de acceso se usan para la autorización. Las notificaciones que proporcionan los tokens de identificador pueden usarse para la experiencia del usuario en la aplicación, como claves en una base de datos, y proporcionar acceso a la aplicación cliente. Para obtener más información sobre las notificaciones usadas en un token de identificador, vea Referencia de notificaciones de tokens de identificador. Para más información sobre la autorización basada en notificaciones, consulte Protección de aplicaciones y API mediante la validación de notificaciones.
Formatos de tokens
Hay dos versiones de tokens de identificador disponibles en la Plataforma de identidad de Microsoft: v1.0 y v2.0. Estas versiones determinan las notificaciones que están en el token. Los token de identificador v1.0 y v2.0 presentan diferencias en la información que contienen. La versión se basa en el punto de conexión desde donde se solicitó. Las aplicaciones nuevas deben usar la versión 2.0.
- v1.0:
https://login.microsoftonline.com/common/oauth2/authorize
- v2.0:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
Token de identificador de la versión 1.0 de ejemplo
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjdfWnVmMXR2a3dMeFlhSFMzcTZsVWpVWUlHdyIsImtpZCI6IjdfWnVmMXR2a3dMeFlhSFMzcTZsVWpVWUlHdyJ9.eyJhdWQiOiJiMTRhNzUwNS05NmU5LTQ5MjctOTFlOC0wNjAxZDBmYzljYWEiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9mYTE1ZDY5Mi1lOWM3LTQ0NjAtYTc0My0yOWYyOTU2ZmQ0MjkvIiwiaWF0IjoxNTM2Mjc1MTI0LCJuYmYiOjE1MzYyNzUxMjQsImV4cCI6MTUzNjI3OTAyNCwiYWlvIjoiQVhRQWkvOElBQUFBcXhzdUIrUjREMnJGUXFPRVRPNFlkWGJMRDlrWjh4ZlhhZGVBTTBRMk5rTlQ1aXpmZzN1d2JXU1hodVNTajZVVDVoeTJENldxQXBCNWpLQTZaZ1o5ay9TVTI3dVY5Y2V0WGZMT3RwTnR0Z2s1RGNCdGsrTExzdHovSmcrZ1lSbXY5YlVVNFhscGhUYzZDODZKbWoxRkN3PT0iLCJhbXIiOlsicnNhIl0sImVtYWlsIjoiYWJlbGlAbWljcm9zb2Z0LmNvbSIsImZhbWlseV9uYW1lIjoiTGluY29sbiIsImdpdmVuX25hbWUiOiJBYmUiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaXBhZGRyIjoiMTMxLjEwNy4yMjIuMjIiLCJuYW1lIjoiYWJlbGkiLCJub25jZSI6IjEyMzUyMyIsIm9pZCI6IjA1ODMzYjZiLWFhMWQtNDJkNC05ZWMwLTFiMmJiOTE5NDQzOCIsInJoIjoiSSIsInN1YiI6IjVfSjlyU3NzOC1qdnRfSWN1NnVlUk5MOHhYYjhMRjRGc2dfS29vQzJSSlEiLCJ0aWQiOiJmYTE1ZDY5Mi1lOWM3LTQ0NjAtYTc0My0yOWYyOTU2ZmQ0MjkiLCJ1bmlxdWVfbmFtZSI6IkFiZUxpQG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJMeGVfNDZHcVRrT3BHU2ZUbG40RUFBIiwidmVyIjoiMS4wIn0=.UJQrCA6qn2bXq57qzGX_-D3HcPHqBMOKDPx4su1yKRLNErVD8xkxJLNLVRdASHqEcpyDctbdHccu6DPpkq5f0ibcaQFhejQNcABidJCTz0Bb2AbdUCTqAzdt9pdgQvMBnVH1xk3SCM6d4BbT4BkLLj10ZLasX7vRknaSjE_C5DI7Fg4WrZPwOhII1dB0HEZ_qpNaYXEiy-o94UJ94zCr07GgrqMsfYQqFR7kn-mn68AjvLcgwSfZvyR_yIK75S_K37vC3QryQ7cNoafDe9upql_6pB2ybMVlgWPs_DmbJ8g0om-sPlwyn74Cc1tW3ze-Xptw_2uVdPgWyqfuWAfq6Q
Puede ver este token de ejemplo de la versión v1.0 en jwt.ms.
Token de identificador de la versión 2.0 de ejemplo
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw
Puede ver este token de ejemplo de la versión v2.0 en jwt.ms.
Duración del token
De manera predeterminada, un token de identificador es válido durante una hora; después de una hora, el cliente debe adquirir un nuevo token de identificador.
Puede ajustar la vigencia de un token de identificador para controlar la frecuencia con la que la aplicación cliente expira la sesión de la aplicación y requerirá que el usuario se vuelva a autenticar (de forma silenciosa o interactiva). Para más información, consulte Vigencia de tokens configurable en la Plataforma de identidad de Microsoft (versión preliminar).
Validar tokens
Para validar el token de identificador, su cliente puede comprobar si el token se ha alterado. También puede validar al emisor para asegurarse de que el emisor correcto ha devuelto el token. Dado que los tokens de identificador siempre son un token JWT, existen muchas bibliotecas para validar estos tokens: se recomienda usar una de estas bibliotecas en lugar de hacerlo usted mismo. Solo los clientes confidenciales deben validar los tokens de identificador. Para obtener más información, vea Protección de aplicaciones y API mediante la validación de notificaciones.
Las aplicaciones públicas (el código se ejecuta completamente en un dispositivo o red que no controla; por ejemplo, el explorador de un usuario o su red doméstica) no se benefician de la validación del token de identificador. En este caso, un usuario malintencionado puede interceptar y editar las claves usadas para la validación del token.
Las siguientes notificaciones JWT deben validarse en el token de identificador después de validar la firma en el token. La biblioteca de validación de tokens también puede validar las siguientes notificaciones:
- Marcas de tiempo: las marcas de tiempo
iat
,nbf
yexp
deben estar todas antes o después de la hora actual, según corresponda. - Audiencia: la notificación
aud
debe coincidir con el identificador de aplicación de la aplicación. - Nonce: la notificación
nonce
de la carga debe coincidir con el parámetro nonce pasado en el punto de conexión/authorize
durante la solicitud inicial.
Consulte también
- Referencia de notificaciones de tokens de identificador
- Protocolos OAuth 2.0 y OpenID Connect
- Notificaciones opcionales
Pasos siguientes
- Revise el flujo de OpenID Connect, que define los protocolos que emiten un token de identificador.