Pular para o conteúdo principal

Gerenciamento de permissões e recursos

Use a organização como um recurso e aplique um modelo de organização para protegê-la. Por exemplo, cada organização possui seus próprios documentos dentro de um tenant. Apenas usuários com os papéis corretos podem editar ou excluir esses documentos.

Veja Permissões de organização para detalhes.

Use o controle de acesso baseado em papel (RBAC) da organização para gerenciar permissões de usuários

Com a configuração acima, você pode enviar convites por e-mail, e os convidados podem ingressar na organização com o papel atribuído.

Usuários com diferentes papéis na organização terão diferentes escopos (permissões) em seus tokens de organização. Tanto seu aplicativo cliente quanto os serviços de backend devem verificar esses escopos para determinar funcionalidades visíveis e ações permitidas.

Lide com atualizações de escopo em tokens de organização

Esta seção aborda tópicos avançados sobre o gerenciamento do modelo de organização e cenários de autorização. Se você não estiver familiarizado com esses conceitos, leia Autorização (Authorization) e Modelo de organização primeiro.

Gerenciar atualizações de escopo em tokens de organização envolve:

Revogar escopos existentes

Por exemplo, rebaixar um administrador para um membro não-administrador deve remover escopos do usuário. Nesses casos, limpe o token de organização em cache e obtenha um novo usando um token de atualização. Os escopos reduzidos serão refletidos imediatamente no novo token de organização emitido.

Conceder novos escopos

Isso pode ser dividido em dois cenários:

Conceder novos escopos que já estão definidos no seu sistema de autenticação

Semelhante à revogação de escopos, se o novo escopo concedido já estiver registrado no servidor de autenticação, emita um novo token de organização e os novos escopos serão refletidos imediatamente.

Conceder novos escopos que estão sendo introduzidos agora no seu sistema de autenticação

Nesse caso, acione um processo de novo login ou novo consentimento para atualizar o token de organização do usuário. Por exemplo, chame o método signIn no SDK do Logto.

Verifique permissões em tempo real e atualize o token de organização

O Logto fornece uma Management API para buscar permissões de usuário em tempo real na organização.

Compare os escopos no token de organização do usuário com as permissões em tempo real para determinar se o usuário foi promovido ou rebaixado.

  • Se rebaixado, limpe o token de organização em cache e o SDK emitirá automaticamente um novo com os escopos atualizados.

    const { clearAccessToken } = useLogto();

    ...
    // Se os escopos buscados em tempo real forem menores que os escopos do token de organização
    await clearAccessToken();

    Isso não requer um novo login ou processo de consentimento. Novos tokens de organização serão emitidos automaticamente pelo SDK do Logto.

  • Se um novo escopo for introduzido no seu sistema de autenticação, acione um novo login ou processo de consentimento para atualizar o token de organização do usuário. Por exemplo, com o React SDK:

    const { clearAllTokens, signIn } = useLogto();

    ...
    // Se os escopos buscados em tempo real tiverem escopos recém-atribuídos em relação aos escopos do token de organização
    await clearAllTokens();
    signIn({
    redirectUri: '<your-sign-in-redirect-uri>',
    prompt: 'consent',
    });

    O código acima aciona uma navegação para a tela de consentimento e redireciona automaticamente de volta ao seu app com os escopos atualizados no token de organização do usuário.