要在 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 函式庫。