Autenticação para aplicações Fabric

O Fabric Apps inclui um serviço de autenticação integrado que faz login aos utilizadores, gere as suas sessões e associa a sua identidade a cada chamada de dados e armazenamento que a sua aplicação faz. Este artigo explica os conceitos que precisa de compreender antes de configurar a autenticação para o seu projeto.

Para obter detalhes sobre a implementação, consulte:

Modos de autenticação

O Fabric Apps suporta dois métodos de autenticação. O método que usas depende de onde a aplicação corre:

Ambiente Método suportado Quando usar
Desenvolvimento local Email e palavra-passe Trabalhe rapidamente de forma iterativa sem depender do portal Fabric.
Implementado no Fabric Fabric SSO (Microsoft Entra ID) Início de sessão de produção para qualquer utilizador com acesso ao espaço de trabalho do Fabric.

Conceitos-chave:

  • Fabric SSO permite ao utilizador iniciar sessão através do portal do Fabric, utilizando a respetiva identidade Microsoft Entra ID existente. Só funciona quando a aplicação está aberta no Fabric, por isso não pode usá-la durante o desenvolvimento local.
  • O email e a palavra-passe destinam-se apenas ao desenvolvimento local. Não funciona após a implantação.
  • O primeiro início de sessão configura o utilizador. Com o Fabric SSO, não existe uma etapa separada de inscrição — os utilizadores são criados automaticamente na primeira vez que iniciam sessão.
  • A autenticação é necessária para implementações de Fabric. Definir services.auth.enabled como false faz com que npx rayfin up falhe.

Sessões e identidade

Depois de um utilizador iniciar sessão, o SDK cria uma sessão que representa o utilizador iniciado sessão. As sessões são opacas — a sua aplicação não deve inspecionar os tokens subjacentes. Em vez disso, a sua aplicação lê um pequeno conjunto de propriedades de alto nível:

  • Se uma sessão está atualmente autenticada.
  • As id e email do utilizador.
  • Afirmações personalizadas que configuraste em rayfin.yml.

A mesma instância cliente que faz login no utilizador associa automaticamente a sua identidade a todas as chamadas de dados e armazenamento. Não passas os tokens manualmente.

As sessões também geram eventos de mudança, para que a sua interface possa reagir quando um utilizador faz login ou sai sem recarregar a página.

Ative a autenticação no seu projeto

A autenticação é configurada em rayfin/rayfin.yml. O exemplo seguinte permite tanto o Fabric SSO (para aplicações implementadas) como o login por email/palavra-passe (para desenvolvimento local):

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

O que cada definição controla:

  • services.auth.enabled – Ativa o serviço de autenticação. Necessário para qualquer implementação de Fabric.
  • allowedRedirectUris – As origens autorizadas para onde o utilizador pode ser encaminhado depois de iniciar sessão. Adiciona aqui o URL do teu dev local. npx rayfin up Adiciona automaticamente a origem da aplicação implementada.
  • fabric.enabled – Ativa Fabric SSO. É obrigatório para aplicações implementadas.
  • password.enabled – Permite o login por email e palavra-passe para desenvolvimento local.

Importante

As implementações Fabric exigem que a autenticação esteja ativada. npx rayfin up falha quando services.auth.enabled está definido para false.

Depois de editar rayfin.yml, reinicie o backend local ou execute npx rayfin up para aplicar a alteração.

Reivindicações personalizadas

Reivindicações personalizadas permitem-lhe anexar metadados específicos da aplicação a cada sessão — por exemplo, um nome do inquilino, um flag de funcionalidade ou uma versão da aplicação. São úteis para controlo de acesso baseado em funções e bloqueio de funcionalidades sem alterar o seu modelo de dados.

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

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

O que o SDK fornece

Quando utiliza o RayfinClient, o serviço de autenticação está disponível em client.auth. A nível conceptual, proporciona:

  • Registe-se e inicie sessão com email e palavra-passe durante o desenvolvimento local.
  • Iniciar sessão e registo através Fabric SSO para aplicações implementadas. A mesma chamada trata tanto de utilizadores novos como de utilizadores que regressam.
  • Desliga-te para terminar a sessão atual.
  • Leituras de sessão e subscrições para que a interface se mantenha sincronizada com o estado de autenticação do utilizador.

Para ver o código que integra isto numa aplicação real, consulte Configurar a autenticação SSO do Fabric para a sua aplicação do Fabric.