แชร์ผ่าน


API การรับรองความถูกต้อง

API การรับรองความถูกต้องช่วยให้วิชวลได้รับรหัส Microsoft Entra (เดิมเรียกว่า Azure AD) โทเค็นการเข้าถึงสําหรับผู้ใช้ที่ลงชื่อเข้าใช้ ซึ่งอํานวยความสะดวกในการรับรองความถูกต้องแบบลงชื่อเข้าระบบครั้งเดียว

ผู้ดูแลระบบ Power BI สามารถเปิดหรือปิดใช้งาน API ผ่านการ สลับส่วนกลางได้ การตั้งค่าเริ่มต้นบล็อก (ปิดใช้งาน) API

API สามารถใช้ได้กับวิชวล AppSource เท่านั้น และไม่ใช่สําหรับวิชวลส่วนตัว วิชวลที่อยู่ระหว่างการพัฒนาสามารถทดสอบได้ในโหมดดีบักก่อนที่จะเผยแพร่

สภาพแวดล้อมที่สนับสนุน

สภาพแวดล้อมต่อไปนี้ได้รับการสนับสนุน:

  • เว็บ
  • เดสก์ท็อป
  • RS Desktop
  • มือถือ

สภาพแวดล้อมที่ไม่สนับสนุน

สภาพแวดล้อมต่อไปนี้ยังไม่ได้รับการสนับสนุน:

  • บริการ RS
  • การวิเคราะห์แบบฝังตัว
  • ทีม

วิธีการใช้ API การรับรองความถูกต้อง

ใน ไฟล์ capabilities.json ให้เพิ่มสิทธิ์ "AADAuthentication" ด้วย Microsoft Entra ID ที่ลงทะเบียน URI ของแอปพลิเคชันสําหรับแต่ละระบบคลาวด์ที่สนับสนุน Fabric สร้างโทเค็นตามผู้ชมที่ได้รับการกําหนดค่าสําหรับระบบคลาวด์ปัจจุบันและส่งไปยังวิชวล
จากนั้นวิชวลสามารถใช้โทเค็นเพื่อรับรองความถูกต้องกับผู้ชมที่เกี่ยวข้องซึ่งแสดงถึงบริการ Backend ของมัน:

"privileges": [
    {
        "name": "AADAuthentication",
        "parameters": {
            "COM": "https://contoso.com",
            "CN": "https://contoso.cn"
        }
    }
]

ใน ไฟล์ pbiviz.json ตั้งค่าเวอร์ชัน API เป็น 5.9.1 หรือสูงกว่า:

AcquireAADTokenService ที่เพิ่งเปิดเผยใหม่ประกอบด้วยสองวิธี:

  • acquireAADToken: ส่งกลับเพย์โหลดโทเค็นการรับรองความถูกต้องสําหรับวิ AcquireAADTokenResult ชวลหรือ null หากไม่สามารถรับได้

     /**
     * Enum representing the various clouds supported by the Authentication API.
     */
    export const enum CloudName {
        COM = "COM",         // Commercial Cloud
        CN = "CN",           // China Cloud
        GCC = "GCC",         // US Government Community Cloud
        GCCHIGH = "GCCHIGH", // US Government Community Cloud High
        DOD = "DOD",         // US Department of Defense Cloud
    }
    
    /**
     * Interface representing information about the user associated with the token.
     */
    export interface AcquireAADTokenUserInfo {
        userId?: string;   // Unique identifier for the user
        tenantId?: string; // Unique identifier for the tenant
    }
    
    /**
     * Interface representing information about the fabric environment.
     */
    export interface AcquireAADTokenFabricInfo {
        cloudName?: CloudName; // Name of the cloud environment
    }
    
    /**
     * Interface representing the result of acquiring a Microsoft Entra ID token.
     */
    export interface AcquireAADTokenResult {
        accessToken?: string;       // Access token issued by Microsoft Entra ID
        expiresOn?: number;         // Expiration time of the access token
        userInfo?: AcquireAADTokenUserInfo;     // Information about the user associated with the token
        fabricInfo?: AcquireAADTokenFabricInfo; // Information about the fabric environment
    }
    
  • acquireAADTokenstatus: ส่งกลับสถานะสิทธิ์การใช้งานอย่างใดอย่างหนึ่งต่อไปนี้ที่เกี่ยวข้องกับการรับโทเค็น

    • อนุญาต: สิทธิ์การใช้งานได้รับอนุญาตในสภาพแวดล้อมปัจจุบัน
    • NotDeclared: การประกาศสิทธิ์ขาดหายไปในส่วนความสามารถของวิชวล
    • ไม่รองรับ: สิทธิ์การใช้งานไม่ได้รับการสนับสนุนในสภาพแวดล้อมปัจจุบัน
    • DisabledByAdmin: ผู้ดูแลระบบ Fabric ปฏิเสธการใช้สิทธิ์

โค้ดตัวอย่างต่อไปนี้สาธิตวิธีการรับโทเค็น Microsoft Entra ID โดยใช้ API:

    // Step 1: Check the status of AAD token acquisition 
    const acquireTokenStatus = await this.acquireAADTokenService.acquireAADTokenstatus(); 

    // Step 2: Verify if acquiring the token is allowed 
    if (acquireTokenStatus === PrivilegeStatus.Allowed) { 

       // Step 3: Acquire the Microsoft Entra ID token
       const acquireAADTokenResult: AcquireAADTokenResult = await this.acquireAADTokenService.acquireAADToken(); 

       // Step 4: Confirm successful acquisition of the access token
       if (acquireAADTokenResult.accessToken) { 

            // Step 5: Call your backend API with the obtained token 
        } 
    } 

    // Step 6: Handle unsuccessful AAD token acquisition 

ข้อควรพิจารณาและข้อจำกัด

การรับโทเค็นถูกบล็อค ถ้าเป็นไปตามเงื่อนไขใดๆ ต่อไปนี้:

  • สวิตช์ผู้เช่าปิดอยู่

  • ผู้ใช้ไม่ได้ลงชื่อเข้าใช้ (ในเดสก์ท็อป)

  • ISV ไม่ได้รับรองความถูกต้องแอปพลิเคชัน Power BI ล่วงหน้า

  • รูปแบบของพารามิเตอร์สิทธิ์ AADAuthentication ไม่ถูกต้อง

  • วิชวลไม่ได้รับการอนุมัติแบบสาธารณะหรือไม่ใช่ดีบักวิชวล

  • บริการ Backend ของวิชวลซึ่งกําหนดค่าเป็นผู้ชมโดยวิชวล ไม่ได้รับความยินยอมที่เหมาะสมสําหรับ Graph API ในผู้เช่าผู้บริโภคโดยใช้วิชวล สําหรับข้อมูลเพิ่มเติมเกี่ยวกับความยินยอม ดู ความยินยอมของผู้ดูแลระบบผู้เช่า

ตั้งค่าแอปพลิเคชัน Microsoft Entra ID