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

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

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

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

在 Azure 中部署 SCIM 端點

此處的步驟會使用 Visual Studio 2019Visual Studio Code 搭配 Azure App 服務,將 SCIM 端點部署至服務。 SCIM 參考程式代碼可以在本機執行、由內部部署伺服器裝載,或部署至另一個外部服務。 如需布建 SCIM 端點的相關信息,請參閱 教學課程:開發和規劃 SCIM 端點的佈建。

取得和部署範例應用程式

移至 GitHub 中的 參考程式代碼 ,然後選取 [ 複製或下載]。 選取 [ 在桌面中開啟],或複製鏈接、開啟 Visual Studio,然後選取 [ 複製或簽出程式代碼 ] 以輸入複製的連結並建立本機複本。 將檔案儲存到路徑總長度為 260 或更少字元的資料夾。

  1. 在 Visual Studio 中,請務必登入可存取您主控資源的帳戶。

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

    Screenshot that shows the sample file.

    注意

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

  3. 選取 [建立配置檔 ],並確定已 選取 [App Service ] 和 [新建 ]。

    Screenshot that shows the Publish window.

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

    Screenshot that shows creating a new app service.

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

    Screenshot that shows publishing a new app service.

設定 App Service

移至 Azure App 服務> Configuration 中的應用程式,然後選取 [新增應用程式設定],以使用 值https://sts.windows.net/<tenant_id>/新增Token__TokenIssuer設定。 將取代 <tenant_id> 為您的 Microsoft Entra 租使用者識別碼。 如果您想要使用 Postman 測試 SCIM 端點,請使用 值Development新增ASPNETCORE_ENVIRONMENT設定。

Screenshot that shows the Application settings window.

當您在 Microsoft Entra 系統管理中心使用企業應用程式測試端點時,您有兩個選項。 您可以將環境 Development 保留在端點中並提供測試令牌 /scim/token ,也可以將環境變更為 Production ,並將令牌欄位保留空白。

介紹完畢 SCIM 端點現已發佈,您可以使用 Azure App 服務 URL 來測試 SCIM 端點。

測試 SCIM 端點

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

請務必避免不安全的方法,例如使用者名稱和密碼,有利於更安全的方法,例如 OAuth。 Microsoft Entra ID 支援長期持有人令牌(適用於資源庫和非資源庫應用程式),以及 OAuth 授權授與(適用於資源庫應用程式)。

注意

存放庫中提供的授權方法僅適用於測試。 當您與 Microsoft Entra 識別元整合時,可以檢閱授權指引。 請參閱 規劃 SCIM 端點的布建。

開發環境可讓生產環境不安全的功能,例如參考程式代碼來控制安全性令牌驗證的行為。 令牌驗證程式代碼會使用自我簽署的安全性令牌,而簽署金鑰會儲存在組態檔中。 請參閱 appsettings 中的 Token:IssuerSigningKey 參數。Development.json檔案。

"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>/"
}

下一步