Skip to main content
PlayFab le permite reforzar la seguridad de la aplicación protegiendo determinadas llamadas a la API de cliente con cifrado personalizado. En este tutorial se muestra cómo habilitar el cifrado para el cliente. El método que usaremos permite proteger cualquier llamada a la API de inicio de sesión. Como el proceso es siempre similar, solo mostramos cómo proteger un método concreto, LoginWithCustomID.
El cifrado de inicio de sesión está pensado para usarse con todos los jugadores desde la creación del título, o no usarse en absoluto. No es una característica que se pueda habilitar en una fecha posterior. Debe usarla desde el principio o no usarla en absoluto. En particular, los jugadores cifrados nunca podrán iniciar sesión sin cifrar, y los jugadores no cifrados nunca podrán convertirse en jugadores cifrados.
En esta guía haremos lo siguiente:
  1. Crear un secreto compartido de jugador.
  2. Introducir una regla de directiva de API para habilitar la protección en un método determinado.
  3. Cambiar el cliente para usar una clave compartida de jugador con el fin de recuperar la clave pública del título y cifrar la carga.
PlayFab hace la siguiente declaración de exención de responsabilidad: “Todas nuestras llamadas a la API ya están cifradas de forma segura conforme a los estándares modernos, y el cifrado estándar de las llamadas a la API es todo lo que la mayoría de los clientes necesitan. Esta característica representa una capa adicional de seguridad diseñada para dificultar que los jugadores usen un cliente no autorizado. No es infalible: simplemente aumenta el nivel de dificultad para los hackers. Para la mayoría de los desarrolladores, el ligero aumento de seguridad no compensará el esfuerzo adicional necesario”.

Creación de un secreto compartido de jugador

La API de administración de PlayFab expone un método para administrar los secretos compartidos de jugador.
La creación de un nuevo secreto compartido con un nombre determinado invalidará la clave existente con el mismo nombre, si la hay. Además, puede tener varios secretos compartidos registrados con nombres diferentes.
Ejecute el código siguiente para agregar un secreto compartido de jugador al título.
Para ejecutar este código, necesita una clave secreta de desarrollador. Para obtener más información sobre las claves secretas, consulte Administración de claves secretas. Esta aplicación debería imprimir un secreto compartido de jugador recién creado. Asegúrese de guardarlo. Si se pierde, tendrá que generar un nuevo secreto ejecutando la aplicación de nuevo. El secreto tiene este aspecto: QC953WQ3TU6ZJTZMAT1FNJQIKR92FPUQTISW4Q6WD8SY841MQQ

Actualización de la directiva

Ya tenemos creado un nuevo secreto compartido. Ahora debemos indicar a PlayFab qué llamadas a la API se deben proteger. Ejecute el código que se muestra a continuación para proteger la llamada a la API LoginWithCustomId y desproteger el resto de las llamadas a la API.

Configuración del cliente

Ahora que la directiva está actualizada, ya no puede llamar simplemente a la API LoginWithCustomID. Considere el código que se muestra a continuación.
Normalmente, esto iniciaría la sesión del usuario sin problemas. Sin embargo, ahora esta llamada a la API está protegida, y el código producirá un error Not Authorized (que no debe confundirse con Not Authenticated). Debemos modificar el cliente para cifrar correctamente la carga de la llamada. Esto se realiza en 2 pasos:
  1. Usar el secreto compartido de jugador para capturar la clave pública del título.
  2. Usar la clave pública del título para cifrar la carga.
El código que se muestra a continuación ilustra este proceso.
Una vez que ejecute el código, debería poder iniciar sesión. Tenga en cuenta que, una vez creado un secreto compartido de jugador, debe codificarse de forma rígida en el código del cliente, ya que no hay forma de capturarlo ni solicitarlo mediante ninguna llamada a la API.
Última modificación el 28 de agosto de 2026