Uwierzytelnianie dla aplikacji Fabric

Fabric Apps zawiera wbudowaną usługę uwierzytelniania, która umożliwia użytkownikom logowanie, zarządza ich sesjami i dołącza ich tożsamość do każdego wywołania do danych i magazynu wykonywanego przez aplikację. W tym artykule wyjaśniono pojęcia, które należy zrozumieć przed skonfigurowaniem uwierzytelniania dla projektu.

Aby uzyskać szczegółowe informacje o implementacji, zobacz:

Tryby uwierzytelniania

Fabric Apps obsługuje dwie metody uwierzytelniania. Używana metoda zależy od tego, gdzie działa aplikacja:

Środowisko Obsługiwana metoda Kiedy należy go używać
Rozwój lokalny Adres e-mail i hasło Iteruj szybko bez zależności od portalu Fabric.
Wdrożone w Fabric Fabric SSO (Microsoft Entra ID) Logowanie produkcyjne dla dowolnego użytkownika z dostępem do obszaru roboczego Fabric.

Kluczowe pojęcia:

  • Fabric SSO umożliwia użytkownikowi logowanie za pośrednictwem portalu Fabric przy użyciu istniejącej tożsamości Microsoft Entra ID. Działa tylko wtedy, gdy aplikacja jest otwierana z Fabric, więc nie można jej używać podczas programowania lokalnego.
  • Adres e-mail i hasło są przeznaczone tylko do programowania lokalnego. Nie działa po wdrożeniu.
  • Pierwsze logowanie powoduje aprowizację użytkownika. W przypadku SSO usługi Fabric nie ma osobnego etapu rejestracji — użytkownicy są tworzeni automatycznie przy pierwszym zalogowaniu.
  • Uwierzytelnianie jest wymagane w przypadku wdrożeń Fabric. Ustawienie services.auth.enabled na false powoduje awarię npx rayfin up.

Sesje i tożsamość

Po zalogowaniu się użytkownika zestaw SDK tworzy sesję reprezentującą zalogowanego użytkownika. Sesje są nieprzezroczyste — aplikacja nie powinna sprawdzać bazowych tokenów. Zamiast tego aplikacja odczytuje niewielki zestaw właściwości wysokiego poziomu:

  • Czy sesja jest obecnie uwierzytelniona.
  • Elementy użytkownika: id i email.
  • Oświadczenia niestandardowe skonfigurowane w programie rayfin.yml.

Ta sama instancja klienta, która loguje użytkownika, automatycznie dołącza jego tożsamość do każdego wywołania dotyczącego danych i magazynu. Tokeny nie są przekazywane ręcznie.

Sesje również wywołują zdarzenia informujące o zmianach, dzięki czemu UI może reagować, gdy użytkownik loguje się lub wylogowuje się, bez ponownego ładowania strony.

Włączanie uwierzytelniania w projekcie

Uwierzytelnianie jest konfigurowane w programie rayfin/rayfin.yml. Poniższy przykład umożliwia zarówno logowanie jednokrotne (SSO) platformy Fabric (dla wdrożonych aplikacji), jak i logowanie przy użyciu adresu e-mail i hasła (do programowania lokalnego):

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

Co kontroluje każde ustawienie:

  • services.auth.enabled — włącza usługę uwierzytelniania. Wymagane dla każdego wdrożenia Fabric.
  • allowedRedirectUris — Dozwolone źródła, do których można przekierować użytkownika po zalogowaniu. Tutaj dodaj lokalny adres URL dewelopera. npx rayfin up automatycznie dodaje wdrożone źródło aplikacji.
  • fabric.enabled – Włącza logowanie jednokrotne (SSO) dla usługi Fabric. Wymagane dla wdrożonych aplikacji.
  • password.enabled — włącza logowanie do poczty e-mail i hasła na potrzeby programowania lokalnego.

Ważna

Wdrożenia usługi Fabric wymagają włączenia uwierzytelniania. npx rayfin up kończy się niepowodzeniem, gdy services.auth.enabled ustawiono na false.

Po edycji rayfin.ymluruchom ponownie lokalne zaplecze lub uruchom polecenie npx rayfin up , aby zastosować zmianę.

Niestandardowe oświadczenia

Niestandardowe atrybuty umożliwiają dołączanie metadanych specyficznych dla aplikacji do każdej sesji — takich jak nazwa dzierżawcy, flaga funkcji lub wersja aplikacji. Są przydatne do kontroli dostępu opartej na rolach i ograniczania dostępu do funkcji bez zmiany modelu danych.

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

Niestandardowe deklaracje znajdują się w obiekcie sesji i można się do nich odwoływać w regułach uprawnień do danych.

Co udostępnia zestaw SDK

Gdy używasz RayfinClient, usługa uwierzytelniania jest dostępna na client.auth. Na poziomie koncepcyjnym zapewnia:

  • Zarejestruj się i zaloguj się przy użyciu poczty e-mail i hasła podczas programowania lokalnego.
  • Logowanie i rejestracja przy użyciu Fabric SSO w wdrożonych aplikacjach. To samo wywołanie obsługuje zarówno nowych, jak i zwracanych użytkowników.
  • Wyloguj się, aby zakończyć bieżącą sesję.
  • Odczyty i subskrypcje sesji sprawiają, że interfejs użytkownika pozostaje zsynchronizowany ze stanem uwierzytelniania użytkownika.

Kod, który integruje je z prawdziwą aplikacją, znajdziesz tutaj: Konfigurowanie uwierzytelniania SSO usługi Fabric w aplikacji Fabric.