Pular para o conteúdo principal

Login de usuário e autenticação

Última atualização: 16 de julho de 2026

O PlayServ parte do princípio de que o client faz a autenticação do usuário em um sistema externo — o seu provedor de identidade — e depois passa o UserToken resultante para o SDK. O PlayServ usa esse token para elevar os privilégios da Session e vinculá-la a um perfil de usuário existente, ou criar um novo.

informação

Use este fluxo quando:

  • o Player acabou de concluir a autenticação na sua UI — usuário/senha, login por provedor, etc.
  • o app inicia e você já tem um UserToken guardado de antes
  • você precisa reautenticar porque o token não é mais válido

O fluxo de login​

1

Autentique o Player no seu sistema externo

O Player entra pelo seu provedor de identidade — usuário/senha, um provedor social, ou qualquer outro método que você suporte. Em caso de sucesso, o seu sistema emite um UserToken.

O PlayServ não executa esta etapa; ele consome o token que o seu sistema produz.

2

Passe o UserToken para o SDK

Entregue o UserToken ao SDK para que o PlayServ possa elevar a Session. Há dois pontos de entrada, conforme quando você tem o token — Ready(UserToken) no início da Session, ou Login(UserToken) durante a execução. Ambos fazem a mesma elevação de privilégios. Veja Ready e Login abaixo.

3

O PlayServ valida e eleva a Session

Durante o handshake, o PlayServ chama ValidateClient no servidor (se declarado). Se a validação passa, os privilégios da Session são elevados e a Session é vinculada ao perfil do Player. Se falha, o client é recusado.


Ready e Login: dois pontos de entrada​

Ready(UserToken) e Login(UserToken) fazem a mesma elevação de privilégios — a diferença é o momento.

Se o usuário foi autenticado antes e o UserToken já está guardado localmente, passe-o imediatamente ao iniciar a Session:

await PlayServ.Ready(UserToken);

Como a elevação acontece no início da Session, o estado autenticado é alcançado mais cedo do que chamando Login(...) em seguida.


Quando o token deixa de ser válido​

Se a sessão do Player termina ou o token guardado se torna inválido, o handshake pode retornar um erro em Ready(UserToken). Nesse caso:

1

Reautentique externamente

O Player se autentica de novo no seu sistema externo, que emite um UserToken novo.

2

Chame Login com o novo token

Passe o token recém-emitido com Login(UserToken) para elevar a Session outra vez.


Validação no servidor: ValidateClient​

Para validar o client autenticado no servidor, o PlayServ faz uma chamada RPC a ValidateClient, se ele estiver declarado no código de servidor. Retorne true para aceitar o client, ou false para recusá-lo — se a validação falha, o client não recebe a elevação de privilégios e é desconectado.

[Server]
public class ClientAuth
{
public bool ValidateClient(Session session)
{
// return true -> validation passed, privileges upgraded
// return false -> client denied / disconnected
return true;
}
}
aviso

ValidateClient é o ponto onde a validade do UserToken é imposta. Trate este método como o seu portão, no servidor, para elevar privilégios.


Como isso se relaciona com handshake e Session​

  • Ready(UserToken) afeta o caminho do handshake no início da Session.
  • Login(UserToken) é a mesma elevação de privilégios, só que iniciada depois, durante a execução.
  • O estado da Session continua sendo o indicador principal da prontidão do client em runtime.

Próximos passos​