Autenticação para aplicativos Fabric

Fabric Apps inclui um serviço de autenticação interno que conecta os usuários, gerencia suas sessões e anexa sua identidade a cada chamada de armazenamento e dados que seu aplicativo faz. Este artigo explica os conceitos que você precisa entender antes de configurar a autenticação para seu projeto.

Para obter detalhes de implementação, consulte:

Modos de autenticação

Fabric Apps dá suporte a dois métodos de autenticação. O método usado depende de onde o aplicativo é executado:

Ambiente Método com suporte Quando usar isso
Desenvolvimento local Email e senha Itere rapidamente sem depender do portal Fabric.
Implantado no Fabric Fabric SSO (Microsoft Entra ID) Login de produção para qualquer usuário com acesso ao workspace do Fabric.

Conceitos-chave:

  • Fabric SSO conecta o usuário por meio do portal Fabric usando sua identidade de Microsoft Entra ID existente. Ele só funciona quando o aplicativo é aberto de Fabric, portanto, você não pode usá-lo durante o desenvolvimento local.
  • O email e a senha destinam-se apenas ao desenvolvimento local. Ele não funciona após a implantação.
  • No primeiro login, o usuário é provisionado. Com Fabric SSO, não há nenhuma etapa de inscrição separada: os usuários são criados automaticamente na primeira vez que entram.
  • A autenticação é necessária para implantações de Fabric. Definir services.auth.enabled como false faz com que npx rayfin up falhe.

Sessões e identidade

Depois que um usuário entra, o SDK cria uma sessão que representa o usuário conectado. As sessões são opacas, seu aplicativo não deve inspecionar os tokens subjacentes. Em vez disso, seu aplicativo lê um pequeno conjunto de propriedades de alto nível:

  • Se uma sessão está autenticada no momento.
  • Os id e email do usuário.
  • Declarações personalizadas configuradas em rayfin.yml.

A mesma instância de cliente que faz login do usuário vincula automaticamente a identidade dele a todas as chamadas de dados e armazenamento. Você não transfere tokens manualmente.

As sessões também geram eventos de alteração, para que a interface do usuário possa reagir quando um usuário entrar ou sair sem recarregar a página.

Habilitar a autenticação em seu projeto

A autenticação está configurada em rayfin/rayfin.yml. O exemplo a seguir habilita Fabric SSO (para aplicativos implantados) e entrada por email/senha (para desenvolvimento local):

services:
  auth:
    enabled: true
    allowedRedirectUris:
      - http://localhost:5173
    fabric:
      enabled: true
    password:
      enabled: true  # Local development only

O que cada configuração controla:

  • services.auth.enabled – ativa o serviço de autenticação. Necessário para qualquer implantação do Fabric.
  • allowedRedirectUris – As origens autorizadas a receber o usuário após o login. Adicione a URL de desenvolvimento local aqui. npx rayfin up adiciona automaticamente a origem do aplicativo implantado.
  • fabric.enabled – habilita Fabric SSO. Necessário para aplicativos implantados.
  • password.enabled – Habilita o login com email e senha para desenvolvimento local.

Importante

As implantações do Fabric exigem que a autenticação esteja habilitada. npx rayfin up falha quando services.auth.enabled é definido como false.

Após a edição rayfin.yml, reinicie o back-end local ou execute npx rayfin up para aplicar a alteração.

Declarações personalizadas

As declarações personalizadas permitem anexar metadados específicos do aplicativo a cada sessão, por exemplo, um nome de locatário, um sinalizador de recurso ou uma versão do aplicativo. Eles são úteis para controle de acesso baseado em função e controle de recursos sem alterar seu modelo de dados.

services:
  auth:
    enabled: true
    customClaims:
      tenant: default
      app_version: 1.0.0

As declarações personalizadas aparecem dentro do objeto de sessão e podem ser referenciadas de suas regras de permissão de dados.

O que o SDK fornece

Quando você usa o RayfinClient, o serviço de autenticação está disponível em client.auth. Em um nível conceitual, ele fornece:

  • Inscreva-se e entre com email e senha durante o desenvolvimento local.
  • Iniciar sessão e cadastrar-se por meio do Fabric SSO para aplicativos implantados. A mesma chamada atende tanto usuários novos quanto recorrentes.
  • Saia para encerrar a sessão atual.
  • Leitura da sessão e assinaturas para que a interface do usuário permaneça sincronizada com o estado de autenticação do usuário.

Para ver o código que integra isso a um aplicativo real, consulte Configurar a autenticação SSO do Fabric para seu aplicativo do Fabric.