Fabric 앱에 대한 인증

Fabric 앱에는 사용자를 로그인하고, 세션을 관리하고, 앱에서 호출하는 모든 데이터 및 스토리지 호출에 해당 ID를 연결하는 기본 제공 인증 서비스가 포함되어 있습니다. 이 문서에서는 프로젝트에 대한 인증을 구성하기 전에 이해해야 하는 개념을 설명합니다.

구현 세부 정보는 다음을 참조하세요.

인증 모드

Fabric 앱은 두 가지 인증 방법을 지원합니다. 사용하는 방법은 앱이 실행되는 위치에 따라 달라집니다.

환경 지원되는 메서드 사용 시기
지역 개발 전자 메일 및 암호 Fabric 포털에 의존하지 않고 빠르게 반복 작업을 수행하세요.
Fabric에 배포됨 Fabric SSO(Microsoft Entra ID) Fabric 작업 영역에 액세스할 수 있는 모든 사용자에 대한 프로덕션 로그인입니다.

주요 개념:

  • Fabric SSO 기존 Microsoft Entra ID ID를 사용하여 Fabric 포털을 통해 사용자를 로그인합니다. Fabric 앱을 열 때만 작동하므로 로컬 개발 중에는 사용할 수 없습니다.
  • 전자 메일 및 암호 는 로컬 개발 전용입니다. 배포 후에는 작동하지 않습니다.
  • 최초 로그인 시 사용자가 설정됩니다. Fabric SSO에서는 별도의 등록 단계가 없습니다. 사용자가 처음 로그인할 때 자동으로 만들어집니다.
  • Fabric 배포에는 인증이 필요합니다. services.auth.enabledfalse로 설정하면 npx rayfin up이(가) 실패합니다.

세션 및 ID

사용자가 로그인한 후 SDK는 로그인한 사용자를 나타내는 세션을 만듭니다. 세션은 불투명합니다. 앱은 기본 토큰을 검사해서는 안 됩니다. 대신 앱은 상위 수준 속성의 작은 집합을 읽습니다.

  • 세션이 현재 인증되었는지 여부입니다.
  • 사용자의 idemail.
  • rayfin.yml에서 구성한 사용자 지정 클레임입니다.

사용자를 로그인하는 동일한 클라이언트 인스턴스는 모든 데이터 및 스토리지 호출에 해당 ID를 자동으로 연결합니다. 토큰을 수동으로 전달하지 않습니다.

세션은 변경 이벤트도 발생하므로 사용자가 페이지를 다시 로드하지 않고 로그인하거나 로그아웃할 때 UI가 반응할 수 있습니다.

프로젝트에서 인증 사용

인증은 .에서 구성됩니다 rayfin/rayfin.yml. 다음 예제에서는 Fabric SSO(배포된 앱의 경우) 및 메일/암호 로그인(로컬 개발용)을 모두 사용하도록 설정합니다.

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

각 설정이 제어하는 내용:

  • services.auth.enabled – 인증 서비스를 켭니다. 모든 Fabric 배포에 필요합니다.
  • allowedRedirectUris – 로그인 후 사용자가 리디렉션될 수 있도록 허용된 오리진입니다. 여기에 로컬 개발 URL을 추가합니다. npx rayfin up 는 배포된 앱 원본을 자동으로 추가합니다.
  • fabric.enabled – Fabric SSO를 사용하도록 설정합니다. 배포된 앱에 필요합니다.
  • password.enabled – 로컬 개발에 전자 메일 및 암호 로그인을 사용하도록 설정합니다.

Important

Fabric 배포를 사용하려면 인증을 사용하도록 설정해야 합니다. services.auth.enabledfalse(으)로 설정되면 npx rayfin up이 실패합니다.

편집 rayfin.yml한 후 로컬 백 엔드를 다시 시작하거나 실행 npx rayfin up 하여 변경 사항을 적용합니다.

사용자 지정 클레임

사용자 지정 클레임을 사용하면 모든 세션(예: 테넌트 이름, 기능 플래그 또는 앱 버전)에 애플리케이션별 메타데이터를 연결할 수 있습니다. 데이터 모델을 변경하지 않고 역할 기반 액세스 제어 및 기능 게이팅에 유용합니다.

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

사용자 지정 클레임은 세션 개체 내에 표시되며 데이터 권한 규칙에서 참조할 수 있습니다.

SDK에서 제공하는 내용

RayfinClient를 사용하면 인증 서비스를 client.auth에서 사용할 수 있습니다. 개념적 수준에서 다음을 제공합니다.

  • 로컬 개발 중에 전자 메일 및 암호를 사용하여 등록 및 로그인합니다.
  • 배포된 앱에 대한 Fabric SSO를 통해 로그인 및 등록합니다. 동일한 호출은 새 사용자와 반환되는 사용자를 모두 처리합니다.
  • 로그아웃 하여 현재 세션을 종료합니다.
  • 세션 읽기 및 구독을 통해 UI가 사용자의 인증 상태와 동기화 상태를 유지합니다.

이러한 코드를 실제 앱으로 연결하는 코드는 Fabric 앱에 Fabric SSO 인증 구성 참조하세요.