Microsoft 資訊保護 SDK - 認證概念

要在 MIP SDK 中進行認證,請擴充類別 mip::AuthDelegate 以實作你偏好的認證方法。 mip::AuthDelegate 包含:

  • mip::AuthDelegate::OAuth2Challenge - 一個管理 OAuth 2.0 權威資訊並提供給用戶端應用程式的類別。
  • mip::AuthDelegate::OAuth2Token - 管理從用戶端應用程式取得 OAuth 2.0 存取令牌及令牌儲存的類別。
  • mip::AuthDelegate::AcquireOAuth2Token() - 純虛擬函數,其實作會決定如何取得存取權杖。 在 SDK 呼叫它之後,實作會取得存取權杖,並將其提供給 SDK 的驗證邏輯。

mip::AuthDelegate::AcquireOAuth2Token 接受以下參數,並回傳一個布爾值,表示代幣取得是否成功:

  • mip::Identity:若已知,則為用於驗證的使用者或服務身分。
  • mip::AuthDelegate::OAuth2Challenge:接受四個參數: 權威、 資源、 主張與 範圍。 權威 是產生代幣的服務。 資源 是應用程式嘗試存取的服務。 SDK 在呼叫時會將這些參數傳入代理伺服器。 聲明 是保護服務所需的標籤特定聲明。 範圍 是存取資源所需的 Microsoft Entra 權限範疇。
  • mip::AuthDelegate::OAuth2Token: SDK 會將憑證結果寫入此物件。 SDK 在引擎載入時會消耗這些資料。 除了你的認證實作外,你不需要在任何地方取得或設定這個數值。

Important

應用程式不會直接呼叫 AcquireOAuth2Token。 SDK 在需要時會呼叫這個函式。

後續步驟

為了簡化起見,示範代表的範例會透過呼叫外部腳本來實現代幣擷取。 你可以用另一個腳本替換這個腳本,像是開源的 OAuth 2.0 函式庫,或是自訂的 OAuth 2.0 函式庫。