다음을 통해 공유


인증 JavaScript API

Fabric 프런트 엔드는 Fabric 워크로드용 JavaScript API를 제공하여 Microsoft Entra ID에서 애플리케이션에 대한 토큰을 획득합니다. 이 문서에서는 이 API를 설명합니다.

API

acquireAccessToken(params: AcquireAccessTokenParams): Promise<AccessToken>;  
export interface AcquireAccessTokenParams {
    additionalScopesToConsent?: string[];  
    claimsForConditionalAccessPolicy?: string;
    promptFullConsent?: boolean;
}

API는 토큰 자체와 토큰의 만료 날짜가 포함된 AccessToken 개체를 반환합니다.

프런트 엔드 샘플에서 API를 호출하려면 샘플 항목을 만든 다음, 아래로 스크롤하여 인증 페이지로 이동을 선택합니다. 여기에서 액세스 토큰 가져오기를 선택하여 토큰을 다시 받을 수 있습니다.

인증 섹션을 보여주는 스크린샷.

동의

동의가 필요한 이유를 이해하려면 Microsoft Entra ID에서 사용자 및 관리자 동의를 확인하세요.

참고 항목

CRUD/작업을 사용하고 여러 테넌트에서 토큰을 획득하려면 동의가 필요합니다.

동의는 Fabric 워크로드에서 어떻게 작동하나요?

특정 애플리케이션에 대한 동의를 부여하기 위해 Fabric FE는 워크로드의 애플리케이션 ID로 구성된 MSAL 인스턴스를 만들고 제공된 범위에 대한 토큰을 요청합니다(additionalScopesToConsent - AcquireAccessTokenParams 참조).

특정 범위에 대한 워크로드 애플리케이션으로 토큰을 요청하는 경우 Microsoft Entra ID는 누락되었으면 팝업 동의를 표시한 다음, 팝업 창을 애플리케이션에 구성된 리디렉션 URI로 리디렉션합니다.

일반적으로 리디렉션 URI는 토큰을 요청한 페이지와 동일한 도메인에 있으므로, 페이지에서 팝업에 액세스하고 팝업을 닫을 수 있습니다.

이 경우 Fabric이 토큰을 요청하고 워크로드의 리디렉션 URI가 Fabric 도메인에 없기 때문에 동일한 도메인에 있지 않습니다. 따라서 동의 대화 상자가 열리면 리디렉션 후에 수동으로 닫아야 합니다. redirectUri에 반환된 코드를 사용하지 않으므로 자동으로 닫습니다(Microsoft Entra ID가 팝업을 리디렉션 URI로 리디렉션할 때 닫으면 됨).

index.ts 파일에서 리디렉션 URI의 코드/구성을 볼 수 있습니다.

다음은 앱 "내 워크로드 앱"에 대한 동의 팝업과 인증 설정을 통해 진행하는 경우 구성한 종속성(스토리지 및 Power BI)의 예제입니다.

필요한 권한 대화 상자 스크린샷.

홈 테넌트에서 동의를 제공하는 또 다른 방법(선택 사항)

애플리케이션의 홈 테넌트에서 동의를 얻으려면 다음 형식의 URL을 사용하여 전체 테넌트에 대한 동의를 부여하도록 테넌트 관리자에게 요청할 수 있습니다(고유한 테넌트 ID 및 클라이언트 ID 삽입).

https://login.microsoftonline.com/{tenantId}/adminconsent?client_id={clientId}

AcquireAccessTokenParams

acquireAccessToken JS API를 호출할 때 다음 세 가지 매개 변수를 제공할 수 있습니다.

  • additionalScopesToConsent: 동의를 요청하는 다른 범위(예: 재동의 시나리오).
  • claimsForConditionalAccessPolicy: OBO 흐름이 실패할 때 Microsoft Entra ID에서 반환된 청구(예: OBO에는 다단계 인증이 필요함).
  • promptFullConsent: 워크로드 애플리케이션의 정적 종속성에 대한 전체 동의 창을 표시합니다.

additionalScopesToConsent

워크로드 프런트 엔드가 워크로드 백 엔드 호출에 사용할 토큰을 요청하는 경우 이 매개 변수는 null이어야 합니다. 워크로드 백 엔드는 동의 누락 오류로 인해 수신된 토큰에서 OBO를 수행하지 못할 수 있습니다. 이 경우 워크로드 백 엔드는 오류를 워크로드 프런트 엔드에 전파하고 이 매개 변수를 제공해야 합니다.

claimsForConditionalAccessPolicy

이 매개 변수는 테넌트에 구성된 일부 조건부 액세스 정책으로 인해 워크로드 BE에서 OBO 오류가 발생할 때 사용됩니다.

조건부 액세스 정책으로 인한 OBO 오류는 "청구"라는 문자열을 반환합니다. 이 문자열은 FE가 토큰을 요청하고 청구를 ClaimsForConditionalAccessPolicy로 전달해야 하는 워크로드 FE로 전송되어야 합니다. 자세한 내용은 MFA(다단계 인증), 조건부 액세스 및 증분 동의 처리를 참조하세요.

동의 누락 또는 조건부 액세스 정책으로 인해 OBO 작업이 실패할 때 응답 예제를 보려면 BE 샘플의 AuthenticationService AddBearerClaimToResponse 사용을 참조하세요.

이 additionalScopesToConsent 및 claimsForConditionalAccessPolicy에 대해 자세히 알아보고 사용 예제를 보려면 워크로드 인증 지침 및 심층 분석을 참조하세요.

promptFullConsent

true로 전달되면 이전에 동의를 제공했는지 여부에 관계없이 정적 종속성에 대한 전체 동의가 사용자에게 표시됩니다. 이 매개 변수를 사용하는 예제는 사용자가 UX에 단추를 추가하여 워크로드에 대한 전체 동의를 부여하는 것입니다.