Pular para o conteúdo principal
O PlayFab permite que você reforce a segurança do aplicativo protegendo determinadas chamadas de API do cliente com criptografia personalizada. Este tutorial mostra como habilitar a criptografia para o seu cliente. O método que usaremos permite proteger qualquer chamada de API de login. Como o processo é sempre semelhante, mostramos apenas como proteger um método específico, LoginWithCustomID.
A criptografia de login deve ser usada para todos os jogadores após a criação do título, ou não deve ser usada. Este não é um recurso que pode ser habilitado posteriormente. Você deve usá-lo desde o início ou não usá-lo. Em particular, jogadores criptografados nunca poderão fazer login sem criptografia, e jogadores não criptografados nunca poderão se tornar jogadores criptografados.
Neste guia, vamos:
  1. Criar um segredo compartilhado do jogador.
  2. Introduzir uma regra de Política de API para habilitar a proteção em um determinado método.
  3. Alterar o cliente para usar uma chave compartilhada do jogador para recuperar a chave pública do título e criptografar o payload.
O PlayFab faz o seguinte aviso: “Todas as nossas chamadas de API já são criptografadas com segurança de acordo com os padrões modernos, e a criptografia padrão das chamadas de API é tudo de que a maioria dos clientes precisará. Este recurso representa uma camada adicional de segurança criada para dificultar que os jogadores usem um cliente não autorizado. Ele não é infalível; apenas aumenta o nível de dificuldade para os hackers. Para a maioria dos desenvolvedores, o leve aumento de segurança não compensará o esforço extra necessário.”

Criando um segredo compartilhado do jogador

A API Admin do PlayFab expõe um método para gerenciar seus segredos compartilhados do jogador.
Criar um novo segredo compartilhado com um determinado nome substituirá a chave existente com o mesmo nome, se houver. Além disso, você pode ter vários segredos compartilhados registrados com nomes diferentes.
Execute o código a seguir para adicionar um segredo compartilhado do jogador ao seu título.
Para executar este código, você precisa de uma chave secreta de desenvolvedor. Para obter mais informações sobre chaves secretas, consulte Gerenciamento de chaves secretas. Este aplicativo deve imprimir um segredo compartilhado do jogador recém-criado. Certifique-se de salvá-lo. Se ele for perdido, você terá que gerar um novo segredo executando o aplicativo novamente. O segredo tem esta aparência: QC953WQ3TU6ZJTZMAT1FNJQIKR92FPUQTISW4Q6WD8SY841MQQ

Atualizando a política

Temos um novo segredo compartilhado criado. Agora precisamos informar ao PlayFab quais chamadas de API devem ser protegidas. Execute o código mostrado abaixo para proteger a chamada de API LoginWithCustomId e desproteger o restante das chamadas de API.

Configurando o cliente

Agora que a política foi atualizada, você não consegue mais simplesmente chamar a API LoginWithCustomID. Considere o código mostrado abaixo.
Normalmente, isso faria o login do usuário sem problemas. No entanto, agora essa chamada de API está protegida, e o código gerará um erro Not Authorized (não confundir com Not Authenticated). Precisamos modificar o cliente para criptografar corretamente o payload da chamada. Isso é feito em 2 etapas:
  1. Usar o segredo compartilhado do jogador para buscar a chave pública do título.
  2. Usar a chave pública do título para criptografar o payload.
O código mostrado abaixo ilustra isso.
Depois de executar o código, você deverá conseguir fazer login. Lembre-se de que, após a criação de um segredo compartilhado do jogador, ele deve ser codificado diretamente no código do cliente, pois não há como buscá-lo ou solicitá-lo usando qualquer chamada de API.
Última modificação em 6 de outubro de 2026