整合 API 外掛程式與使用 OAuth 保護的 API
保護 API 的另一個常見模式是使用 OAuth。 OAuth 是一種業界標準的授權通訊協定。 OAuth 會使用存取令牌來保護對資源的存取。 若要取得存取令牌,您可以向識別提供者註冊應用程式,並指定其類型,例如公用或機密用戶端。 視您的應用程式類型而定,您可能需要設定額外的設定,例如秘密或憑證。
當使用者開啟您的應用程式時,它會開始取得存取令牌的程式。 應用程式所遵循的確切步驟取決於應用程式的類型及其所使用的流程。 當使用者完成授權流程時,他們會取得可用來呼叫 API 的存取令牌。
在整合 API 外掛程式與使用 OAuth 保護的 API 時,您需要保護 API 之應用程式的用戶端識別碼和客戶端密碼。 您也需要識別提供者的授權、令牌,以及選擇性地重新整理端點。 Microsoft 365 Copilot 使用此資訊代表目前的使用者向 API 進行驗證,並取得存取令牌。 因為資訊是機密的,所以您會將它安全地儲存在 Microsoft 365 中的安全儲存位置,也稱為保存庫。 然後,在您的應用程式中,您會參考保存庫項目的標識碼。 在運行時間,宣告式代理程式會載入外掛程式 (2) ,並從指定的專案擷取資訊 (3a) 。 宣告式代理程式會遵循授權碼授與類型,也稱為驗證碼流程,以取得存取令牌 (3b,) 用來呼叫 API (3c) 。 下列架構說明此程式。
為外掛程式設定 OAuth 資訊時,您可以選擇性地啟用 Code Exchange 的證明金鑰 (PKCE) 。 即使您使用機密客戶端來保護您的 API 外掛程式,Microsoft還是建議使用 PKCE,因為它會在您的應用程式中增加額外的安全性層級,並增加最少的額外負荷。
將 OAuth 資訊儲存在保存庫中可讓您保持安全,而不會將它公開給用戶端。 因為外掛程式只參考專案,所以您也可以更新客戶端密碼,而不需要重新部署外掛程式。
在開發期間,您可以自行在保存庫中註冊開發 OAuth 資訊,方法是手動移至 Teams 開發人員入口網站,並從開啟 OAuth 用戶端註冊的 [工具] 區段,或使用 Microsoft 365 代理程式工具組。 在生產環境中,系統管理員通常會註冊 OAuth 資訊,並提供保存庫專案的標識碼,以供您在 API 外掛程式中使用。