Skip to main content
PlayFab admite la autenticación de Microsoft Entra ID (anteriormente Azure Active Directory) para llamar a las API Admin, Server y de entidad. Con la autenticación de Entra ID, inicias sesión con tu identidad de Microsoft y usas un token de acceso delegado en lugar de una clave secreta de desarrollador. Tu aplicación gestiona la experiencia de inicio de sesión mediante flujos estándar de cliente público de OAuth 2.0, como el código de autorización con PKCE, el código de dispositivo o la concesión implícita.
La autenticación de Entra ID es una alternativa a las claves secretas de desarrollador para las llamadas a las API Admin, Server y algunas API de entidad. Las API Client y de entidad orientadas a los jugadores siguen usando vales de sesión y tokens de entidad obtenidos mediante el inicio de sesión del jugador. Solo las API de entidad a las que se puede llamar con un token de entidad de título pueden usarse con Entra ID. Para obtener más información sobre las claves secretas, consulta Administración de claves secretas.

Por qué usar la autenticación de Entra ID

Las claves secretas de desarrollador son fáciles de usar, pero la autenticación de Entra ID ofrece varias ventajas:
  • Sin secretos compartidos: los flujos de cliente público no requieren un secreto de cliente. Los tokens son de corta duración y su ámbito se limita al usuario que ha iniciado sesión.
  • Responsabilidad individual: cada llamada a la API está vinculada a una identidad de usuario específica, lo que facilita auditar quién hizo qué.
  • Acceso condicional: tu organización puede aplicar directivas de Entra ID como restricciones de IP, autenticación multifactor (MFA) y comprobaciones de cumplimiento de dispositivos.

Cómo funciona la autenticación de Entra ID

Si nunca has trabajado con Microsoft Entra ID, se trata del servicio de identidad en la nube de Microsoft: el mismo sistema de identidad que respalda Microsoft 365, las cuentas de desarrollador de XBOX y Azure. En lugar de que PlayFab emita a tu estudio una clave secreta de larga duración, tu herramienta pide a Entra ID que inicie la sesión de un desarrollador y devuelva un token de acceso de corta duración. PlayFab confía en los tokens que Entra ID emite para los usuarios que son miembros de tu estudio. Intervienen tres partes:
  • El desarrollador. Tú, con sesión iniciada mediante una cuenta Microsoft (personal) o una cuenta profesional o educativa (Entra ID).
  • Un registro de aplicación en Entra ID. Representa la herramienta que llama a PlayFab: una CLI, un script de compilación, un panel interno, etc. Le indica a Entra ID que “esta aplicación puede solicitar tokens de acceso de PlayFab en nombre de un usuario con sesión iniciada”.
  • El servicio de PlayFab. PlayFab está registrado en Entra ID con el identificador de aplicación 448adbda-b8d8-4f33-a1b0-ac58cf44d4c1 y expone un permiso delegado llamado plugin. Cuando tu código solicita el ámbito 448adbda-b8d8-4f33-a1b0-ac58cf44d4c1/plugin, Entra ID emite un token que PlayFab acepta.
Una llamada típica tiene este aspecto:
  1. Tu código usa la Biblioteca de autenticación de Microsoft (MSAL) para iniciar el inicio de sesión, normalmente una ventana emergente del explorador o una solicitud de código de dispositivo.
  2. El usuario inicia sesión con su identidad de Microsoft y da su consentimiento para que tu aplicación llame a PlayFab en su nombre.
  3. MSAL devuelve un token de acceso (un JWT) y almacena en caché un token de actualización para que las llamadas futuras puedan omitir la solicitud.
  4. Tu código envía el token en el encabezado Authorization: Bearer <token> de cada solicitud a PlayFab.
  5. PlayFab valida el token, lo asigna al usuario de estudio correspondiente y autoriza la llamada en función del rol de ese usuario.
Para ver las definiciones de los términos de Entra ID usados a lo largo de este artículo, consulta el Glosario al final.

Requisitos previos

  • Una cuenta Microsoft respaldada por Entra ID (una cuenta profesional o educativa) o una cuenta Microsoft personal (MSA).
  • Un título de PlayFab. Para obtener más información, consulta Crear una cuenta de PlayFab.
  • Permisos para registrar aplicaciones en tu inquilino de Microsoft Entra ID.
  • El usuario que realiza las llamadas debe agregarse al estudio de PlayFab y asignarse como administrador del título. Para obtener más información sobre los roles, consulta Roles de usuario de PlayFab.

Registrar una aplicación de cliente público en Entra ID

Debes registrar una aplicación en tu inquilino de Entra ID para que tu código pueda solicitar tokens delegados en nombre de un usuario con sesión iniciada. Para los flujos de cliente público (SPA, código de dispositivo, implícito), no se necesita un secreto de cliente.
  1. Inicia sesión en Azure Portal.
  2. Busca y selecciona App registrations y, a continuación, selecciona New registration.
  3. Escribe un nombre para tu aplicación (por ejemplo, PlayFab API Client).
  4. En Supported account types, selecciona la opción que se ajuste a los requisitos de tu organización. Para obtener la máxima flexibilidad, selecciona Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts. Esta opción permite autenticarse con cualquier cuenta Microsoft.
  5. Configura el Redirect URI según tu tipo de aplicación:
    • Para una aplicación de página única (SPA), selecciona Single-page application (SPA) y escribe tu URI de redireccionamiento (por ejemplo, http://localhost:3000).
    • Para una aplicación nativa o de consola que use el flujo de código de dispositivo, selecciona Public client/native (mobile & desktop) y escribe http://localhost.
  6. Selecciona Register. En la página de información general, anota el Application (client) ID. Necesitarás este valor al solicitar tokens.
  7. Agrega el permiso de la API de PlayFab a tu registro de aplicación:
    1. En Azure Portal, ve a tu registro de aplicación y selecciona API permissions.
    2. Selecciona Add a permission > APIs my organization uses.
    3. Busca el identificador de aplicación de PlayFab 448adbda-b8d8-4f33-a1b0-ac58cf44d4c1 y selecciónalo.
    4. Selecciona Delegated permissions, marca el permiso plugin y selecciona Add permissions.
Si tu escenario requiere un cliente confidencial (aplicación web), también debes crear un secreto de cliente en Certificates & secrets. Este artículo se centra en los flujos de cliente público, que no requieren un secreto. Para obtener más información sobre los flujos de cliente confidencial, consulta Plataforma de identidad de Microsoft y flujo de código de autorización de OAuth 2.0.

Configurar el acceso al estudio de PlayFab

PlayFab valida los tokens de Entra ID en función de la pertenencia al estudio. El usuario que realiza las llamadas debe agregarse al estudio de PlayFab y recibir el rol adecuado.
  1. Pide a un administrador del estudio que inicie sesión en Game Manager.
  2. Ve a la sección Users del estudio.
  3. Selecciona Add User y escribe el correo electrónico de la cuenta Microsoft del desarrollador que necesita acceso a la API.
  4. Selecciona Microsoft como proveedor de autenticación.
  5. Asigna al usuario un rol que incluya acceso a las API Admin o Server. Como mínimo, el usuario debe ser administrador del título en los títulos en los que necesite llamar a las API.
  6. Selecciona Add user para enviar la invitación.
Para obtener más información sobre cómo agregar usuarios y asignar roles, consulta Autenticación de cuentas para Game Manager de PlayFab.

Obtener un token de acceso

Tu aplicación es responsable de iniciar la sesión del usuario y obtener un token de acceso delegado de Entra ID. Los siguientes ejemplos muestran flujos comunes de cliente público.

Flujo interactivo con explorador (recomendado para aplicaciones de escritorio y consola)

El flujo interactivo con explorador abre una ventana del explorador del sistema para iniciar sesión. Es la opción recomendada para aplicaciones de escritorio y herramientas de desarrollo local.

Código de autorización con PKCE (recomendado para SPA)

El flujo de código de autorización con clave de prueba para el intercambio de código (PKCE) es el enfoque recomendado para las aplicaciones de página única. El siguiente ejemplo de JavaScript usa la Biblioteca de autenticación de Microsoft (MSAL):

Llamar a las API de PlayFab con el token de acceso

Incluye el token de acceso de Entra ID en el encabezado Authorization como token de tipo Bearer en tus solicitudes a las API de PlayFab, en lugar de usar el encabezado X-SecretKey.

Ejemplo de solicitud

No puedes usar X-SecretKey y Authorization: Bearer en la misma solicitud. Usa un método de autenticación por llamada.

Ejemplo de C#

El siguiente ejemplo usa la Biblioteca de autenticación de Microsoft (MSAL) para obtener un token y llama a la API Server/GetTime. Reemplaza your-client-id por el Application (client) ID de tu registro de aplicación.

Ejemplo de Node.js

El siguiente ejemplo usa la biblioteca @azure/msal-node para obtener un token y llama a la API Server/GetTime. Reemplaza your-client-id por el Application (client) ID de tu registro de aplicación.

Actualización de tokens

Los tokens de acceso de Entra ID son de corta duración (normalmente entre 60 y 90 minutos). Si usas MSAL, llama a AcquireTokenSilent (C#) o comprueba la caché de tokens antes de cada solicitud: MSAL gestiona la actualización automáticamente cuando hay un token de actualización en caché disponible. Si administras los tokens manualmente, solicita un token nuevo mediante el mismo flujo de inicio de sesión antes de que expire el actual.
Si un token expira durante su uso, PlayFab devuelve una respuesta 401 Unauthorized. Tu aplicación debe gestionar este error solicitando un token nuevo y reintentando la llamada.

Solución de problemas

Ejemplos de respuestas de error

Una respuesta 401 Unauthorized de PlayFab cuando falta el token de tipo Bearer, tiene un formato incorrecto o ha expirado tiene este aspecto:
Una respuesta 403 Forbidden de PlayFab cuando el usuario con sesión iniciada está autenticado pero carece de permisos de administrador en el título tiene este aspecto:

Limitaciones

Los SDK de PlayFab no admiten actualmente la autenticación de Entra ID. Para llamar a las API de PlayFab con un token de Entra ID hoy en día, usa llamadas HTTP directas y establece tú mismo el encabezado Authorization: Bearer <token>, como se muestra en los ejemplos de C# y Node.js. La compatibilidad con los SDK está prevista para una versión futura.

Glosario

Consulte también

Última modificación el 28 de agosto de 2026