驗證
本文概述了各種程式設計工具的驗證設定。
在 Microsoft Entra ID 中註冊用戶端應用程式
有關常規 Microsoft Entra 用戶端應用程式創建的概述,請訪問 快速入門:向 Microsoft 身份平臺註冊應用程式。 但是,對於 Microsoft Power Platform,以下各節中有一些細節值得一提。
驗證進階設定
在 Azure 入口網站中,瀏覽至新建立的客戶端應用程式,然後選擇管理 - 驗證索引標籤。在進階設定區塊中,將公開用戶端設為是。 這將確保您可以使用簡單的使用者名稱和密碼驗證取得 JSON Web 權杖 (JWT)。 對於您可能建構的互動式應用程式,以及在 Microsoft Power Platform 中註冊的服務主體項目,此類型的驗證是必需的。
API 權限
在 Azure 入口網站中,瀏覽管理 - API 權限索引標籤。在設定權限區塊下,選擇加入權限。 在打開的對話方塊視窗中,選取組織使用的 API 索引標籤,然後搜尋 Power Apps 服務 (或 PowerApps 服務)。 您可能會看到幾個名稱與此相似的項目,因此請確保將其與 GUID 475226c6-020e-4fb2-8a90-7a972cbfc1d4 一起使用。 包括所有委派權限,例如使用者權限 - 存取 Power Apps 服務 API 選項。
將其加入客戶端應用程式後,選擇授予管理員同意以完成設置。 這對要開始使用 REST API 等工具的執行個體而言是必要程序,這些工具沒有可按使用情況請求同意的圖形使用者界面 (GUI)。
憑證與祕密
在 Azure 入口網站中,瀏覽管理 - 憑證和秘密索引標籤。在憑證區塊下,上傳可用於驗證的 x509 憑證。 您可以使用秘密區塊來生成客戶端密碼 (選用)。 將秘密儲存在安全的位置,以滿足自動化需求。 憑證或秘密選項將允許您透過 Microsoft Entra 進行身份驗證並接收此客戶端的權杖,您可以將該權杖傳遞給 REST API 或 PowerShell cmdlet。
獲得用於使用者名稱和密碼驗證的權杖
透過 HTTP 使用者名稱和密碼承載將 POST 要求發送至 Microsoft Entra ID。
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://service.powerapps.com//.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password
上方的範例包含預留位置,您可以從 Microsoft Entra ID 中的客戶端應用程式檢索這些預留位置。 您將收到一個回覆,該回覆可用於對 Power Platform 進行後續叫用。
{
"token_type": "Bearer",
"scope": "https://service.powerapps.com//User https://service.powerapps.com//.default",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOi...UBkeW5hbWljc2F4ZGVtby5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiI1Q1Fnb25PR0dreWlTc1I2SzR4TEFBIiwidmVyIjoiMS4wIn0.N_oCJiEz2tRU9Ls9nTmbZF914MyU_u7q6bIUJdhXd9AQM2ZK-OijiKtMGfvvVmTYZp4C6sgkxSt0mOGcpmvTSagSRDY92M2__p-pEuKqva5zxXXXmpC-t9lKYDlXRcKq1m5xv-q6buntnLrvZIdd6ReD3n3_pnGAa6OxU0s82f7DqAjSQgXR3hwq_NZOa0quCUN9X-TvpIYrJfVgQfVu0R189hWmUzbYpuoPrUMj2vQI_19gEHz_FryXolM4RMStugYrC0Z72ND5vFlGgvYhZfbWJRC6hGvQQin_eAASmmjLwhRBGMJd6IdbgEXAkFF2rFITFFtFY_4hrN3bvHsveg"
}
在隨後使用驗證 HTTP 標頭對 Power Platform API 的叫用中,使用 access_token 值。
獲取用於客戶端驗證的權杖
透過 HTTP 客戶端秘密承載將 POST 要求發送至 Microsoft Entra ID。 這通常稱為服務主體驗證。
重要
這只能在您按照相關的 PowerShell 或 REST 文件,透過 Microsoft Power Platform 註冊此用戶端應用程式識別碼後使用。
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://service.powerapps.com//.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials
上方的範例包含預留位置,您可以從 Microsoft Entra ID 中的客戶端應用程式檢索這些預留位置。 您將收到一個回覆,該回覆可用於對 Power Platform 進行後續叫用。
{
"token_type": "Bearer",
"scope": "https://service.powerapps.com//User https://service.powerapps.com//.default",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOi...UBkeW5hbWljc2F4ZGVtby5vbm1pY3Jvc29mdC5jb20iLCJ1dGkiOiI1Q1Fnb25PR0dreWlTc1I2SzR4TEFBIiwidmVyIjoiMS4wIn0.N_oCJiEz2tRU9Ls9nTmbZF914MyU_u7q6bIUJdhXd9AQM2ZK-OijiKtMGfvvVmTYZp4C6sgkxSt0mOGcpmvTSagSRDY92M2__p-pEuKqva5zxXXXmpC-t9lKYDlXRcKq1m5xv-q6buntnLrvZIdd6ReD3n3_pnGAa6OxU0s82f7DqAjSQgXR3hwq_NZOa0quCUN9X-TvpIYrJfVgQfVu0R189hWmUzbYpuoPrUMj2vQI_19gEHz_FryXolM4RMStugYrC0Z72ND5vFlGgvYhZfbWJRC6hGvQQin_eAASmmjLwhRBGMJd6IdbgEXAkFF2rFITFFtFY_4hrN3bvHsveg"
}
在隨後使用驗證 HTTP 標頭對 Power Platform API 的叫用中,使用 access_token 值。