分享方式:


教學課程:在 Microsoft Entra ID 中開發範例 SCIM 端點

本教學課程說明如何使用 Azure App Service 部署 SCIM 參考程式碼。 然後,使用 cURL 之類的工具或與 Microsoft Entra 布建服務整合來測試程序代碼。 此教學課程適用於想要開始使用 SCIM 的開發人員,或想要測試 SCIM 端點的任何人。

在本教學課程中,您會了解如何:

  • 在 Azure 中部署您的 SCIM 端點。
  • 測試您的 SCIM 端點。

在 Azure 中部署您的 SCIM 端點

此處的步驟會使用 Visual Studio 2019Visual Studio CodeAzure App Service,將 SCIM 端點部署至服務。 SCIM 參考程式碼可以在本機執行、由內部部署伺服器裝載,或部署到其他外部服務。 如需佈建 SCIM 端點的相關資訊,請參閱教學課程:開發和規劃 SCIM 端點的佈建

取得和部署範例應用程式

移至 GitHub 的參考程式碼,然後選取 [複製或下載]。 選取 [Open in Desktop] \(在 Desktop 中開啟\),或複製連結、開啟 Visual Studio,然後選取 [Clone or check out code] \(複製或取出程式碼\) 以輸入複製的連結,並建立本機複本。 將檔案儲存到路徑總長度為 260 或更少字元的資料夾。

  1. 在 Visual Studio 中,請務必登入具有主機資源存取權的帳戶。

  2. 在 [方案總管] 中,開啟 Microsoft.SCIM.sln ,然後以滑鼠右鍵按一下 Microsoft.SCIM.WebHostSample 檔案。 選取發行

    顯示範例檔案的螢幕擷取畫面。

    注意

    若要在本機執行此解決方案,請按兩下專案,然後選取 [IIS Express],以具有本機主機 URL 的網頁形式啟動專案。 如需詳細資訊,請參閱 IIS Express 概觀

  3. 選取 [建立設定檔],並確定已選取 [App Service] 和 [建立新項目]

    顯示 [發佈] 視窗的螢幕擷取畫面。

  4. 逐步執行對話方塊選項,然後將應用程式重新命名為您選擇的名稱。 此名稱會用於應用程式和 SCIM 端點 URL。

    顯示建立新應用程式服務的螢幕擷取畫面。

  5. 選取要使用的資源群組,然後選取 [發佈]

    顯示發佈新應用程式服務的螢幕擷取畫面。

設定 App Service

移至 Azure App Service>[設定] 中的應用程式,然後選取 [新增應用程式設定] 以新增具有值 https://sts.windows.net/<tenant_id>/ 的 [Token__TokenIssuer] 設定。 將 <tenant_id> 更換為您的 Microsoft Entra tenant ID。

顯示應用程式設定視窗的螢幕擷取畫面。

當您使用 Microsoft Entra 系統管理中心中的企業應用程式來測試您的端點時,您有兩個選項。 您可以將環境維持在 Development 並從 /scim/token 端點提供測試權杖,或者您可以將環境變更為 Production 並將 [權杖] 欄位維持空白。

介紹完畢 現在已發佈您的 SCIM 端點,而且您可以使用 Azure App Service URL 來測試 SCIM 端點。

測試您的 SCIM 端點

對 SCIM 端點的要求需要授權。 SCIM 標準有多個可用的選項。 要求可以使用 Cookie、基本驗證、TLS 用戶端驗證,或 RFC 7644 中列出的任何方法。

請務必避免不安全的方法 (例如使用者名稱和密碼),並使用較安全的方法 (例如 OAuth)。 Microsoft Entra ID 支援長期持有人權杖 (針對資源庫和非資源庫應用程式) 與 OAuth 授權授與 (針對資源庫應用程式)。

注意

存放庫中提供的授權方法僅供測試之用。 當您整合 Microsoft Entra ID 時,您可以檢閱授權指導。 請參閱規劃 SCIM 端點的佈建 (部分機器翻譯)。

開發環境會啟用對於生產環境而言不安全的功能,例如可控制安全性權杖驗證行為的參考程式碼。 權杖驗證程式碼會使用自我簽署安全性權杖,且簽署金鑰會儲存在設定檔中。 請參閱 appsettings.Development.json 檔案中的 Token:IssuerSigningKey 參數。

"Token": {
    "TokenAudience": "Microsoft.Security.Bearer",
    "TokenIssuer": "Microsoft.Security.Bearer",
    "IssuerSigningKey": "A1B2C3D4E5F6A1B2C3D4E5F6",
    "TokenLifetimeInMins": "120"
}

注意

當您將 GET 要求傳送至 /scim/token 端點時,會使用設定的金鑰來發行權杖。 該權杖可以用來做為後續授權的持有人權杖。

預設權杖驗證程式碼會設定為使用 Microsoft Entra 權杖,而且需要使用 appsettings.json 檔案中的 Token:TokenIssuer 參數來設定發行租用戶。

"Token": {
    "TokenAudience": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
    "TokenIssuer": "https://sts.windows.net/<tenant_id>/"
}

下一步