Pular para o conteúdo principal

Usuários, casinos e papéis

O modelo de associação

Usuários e casinos são muitos-para-muitos. Um operador pode ter acesso a vários casinos com um papel diferente em cada.

O papel vive no vínculo, não no usuário, então alguém pode ser owner de um casino e viewer de outro.

Os três papéis

PapelPode
ownerTudo, inclusive associação e chaves de API
adminOperar o casino, mas não mudar associação
viewerSó leitura

Permissões

Papéis são uma tabela, com papéis, permissões e as concessões entre eles, então o conjunto de permissões de um papel é editável. O catálogo:

LeituraEscrita
battles.readbattles.write
games.readgames.write
users.readusers.write
tenants.readtenants.write
roles.readroles.write
settings.readsettings.write
apikeys.readapikeys.write · menu.write

apikeys.* é um par próprio em vez de parte de tenants.*: renomear um casino e emitir a credencial com que o backend dele se autentica não são o mesmo ato. Admin fica com a metade de leitura; owner fica com as duas.

Editar um papel aceita permissões e mais nada

Nem o nome, nem a chave.

tenant_users.role guarda a chave do papel, então renomear a chave de um papel de sistema desautorizaria toda associação que a segura. Todo mundo com aquele papel deixaria de casar, e nada reportaria erro. Recusar a chave torna isso irrepresentável.

Super-usuário

Um super-usuário tem toda permissão em todo casino, e é o único ator que alcança recursos com escopo de plataforma: a chave de assinatura de viewer e as janelas de lobby.

O console não ramifica por super-usuário em rotas comuns. O papel de um super-usuário é reportado como owner, e owner tem tudo, então uma segunda ramificação por handler seria lógica duplicada que poderia divergir.

Adicionando um operador

Pelo console, Usuários → Adicionar. O convidado ganha uma conta vinculada ao casino ativo com o papel que você escolher.

O primeiro operador do seu casino não pode ser criado assim, porque não existe rota de registro. Essa conta é criada para você pela plataforma no onboarding, e todo operador depois dela é convidado pelo console.

Suspendendo

Suspender um usuário bloqueia o login dele.

Suspender um casino faz toda requisição S2S dele responder 403 tenant suspended, uma resposta específica em vez de uma negativa genérica, porque o chamador é legítimo e precisa saber que deve parar de retentar.

Ids de casino são permanentes na prática

O id aparece em eventos, webhooks, registros de auditoria e nos logs de cada casino. É um slug estável que você não vai querer renomear, então escolha na criação com isso em mente.