準備外部租用戶以在 Node.js Web 應用程式中呼叫 API
適用於:員工租用戶 外部租用戶 (深入了解)
在本文中,您會準備外部租用戶以進行授權。 本文是四部分指南的第一個部分。
必要條件
完成教學課程:準備外部租用戶,以在 Node.js Web 應用程式中登入使用者。 完成本教學課程之後,您會在客戶的租用戶中註冊應用程式,並擁有登入使用者的 Web 應用程式。 我們將此 Web 應用程式稱為用戶端應用程式。 您可以擴充此應用程式來呼叫受保護的 Web API。
完成教學課程:保護在外部租用戶中註冊 ASP.NET Web API 中的步驟。 完成本教學課程之後,您會在客戶的租用戶中註冊 Web API,以公開 API 權限並發佈應用程式角色。 您也有安全的 Web API。 您可以從用戶端應用程式呼叫此 Web API。
設定 idtyp 權杖宣告 [選擇性]
您可以使用 idtyp 選擇性宣告,協助 Web API 判斷權杖為應用程式權杖還是應用程式 + 使用者權杖。 雖然您可以使用 scp 和 roles 宣告組合用於相同用途,但使用 idtyp 宣告是告知應用程式權杖和應用程式 + 使用者權杖的最簡單方式。 例如,當權杖是僅限應用程式權杖時,此宣告值為 app。
使用設定選擇性宣告文章中的步驟,將 idtyp 宣告新增至存取權杖:
- 針對 [權杖類型],選取 [存取]。
- 從選擇性宣告清單中,選取 idtyp。
為 Web 應用程式授與 API 權限
從必要條件中,您已在客戶的租用戶中註冊用戶端應用程式。 您也已在客戶中註冊 Web API 應用程式。 現在,您必須將 API 權限授與用戶端應用程式:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
在 [已設定的權限] 底下,選取 [新增權限]。
選取 [我的組織使用的 API] 索引標籤。
在 API 清單中,選取 API,例如 ciam-ToDoList-api。
選取 [委派的權限] 選項。
從權限清單中,選取 ToDoList.Read、ToDoList.ReadWrite (如有必要,請使用搜尋方塊)。
選取 [新增權限] 按鈕。
此時,您已正確指派權限。 不過,由於租用戶是客戶的租用戶,因此取用者使用者本身無法同意這些權限。 若要解決此問題,身為系統管理員必須代表租用戶中的所有使用者同意這些權限:
選取 [代表您的租用戶名稱]<> 授與管理員同意,接著選取 [是]。
選取 [重新整理],驗證 [代表您的租用戶名稱]<> [授予] 會出現在這兩個範圍的 [狀態] 下方。
從 [設定的權限] 清單中,然後一次選取一個 ToDoList.Read 和 ToDoList.ReadWrite 權限,接著複製權限的完整 URI 以供稍後使用。 完整權限 URI 看起來與
api://{clientId}/{ToDoList.Read}
或api://{clientId}/{ToDoList.ReadWrite}
類似。
後續步驟
接下來,了解如何準備 Web 應用程式和 API。