MIP SDK での認証は、好みの認証方法を実装するためにクラス mip::AuthDelegate
を拡張することによって実行されます。 mip::AuthDelegate
には以下が含まれています。
mip::AuthDelegate::OAuth2Challenge
- OAuth2 機関情報を管理し、クライアント アプリケーションに提供するクラス。mip::AuthDelegate::OAuth2Token
- クラスは、(クライアント アプリケーションから) OAuth2 アクセス トークンの取得とトークン ストレージを管理します。mip::AuthDelegate::AcquireOAuth2Token()
- 純粋な仮想関数。その実装によってアクセス トークンの取得方法が決定されます。 SDK によって呼び出されると、アクセス トークンが取得され、SDK の認証ロジックに返されます。
mip::AuthDelegate::AcquireOAuth2Token
は次のパラメーターを受け取り、トークンの取得が成功したかどうかを示すブール値を返します。
mip::Identity
: 認証するユーザーまたはサービスの ID (既知の場合)。mip::AuthDelegate::OAuth2Challenge
: 4 つのパラメーター、 機関、 リソース、 要求、および スコープを受け入れます。 機関 は、トークンが生成されるサービスです。 リソース は、アクセスしようとしているサービスです。 SDK は、呼び出されたときにこれらのパラメーターをデリゲートに渡す処理を行います。 要求 は、保護サービスに必要なラベル固有の要求です。 スコープ は、リソースにアクセスするために必要な Microsoft Entra アクセス許可スコープです。mip::AuthDelegate::OAuth2Token
: トークンの結果がこのオブジェクトに書き込まれます。 これは、エンジンがロードされるときに SDK によって消費されます。 認証の実装以外では、この値を取得または設定する必要はありません。
大事な: アプリケーションは AcquireOAuth2Token
を直接呼び出しません。 SDK は、必要に応じてこの関数を呼び出します。
次のステップ
わかりやすくするために、デリゲートを示すサンプルでは、外部スクリプトを呼び出してトークンの取得を実装します。 このスクリプトは、他の種類のスクリプト、オープンソースの OAuth2 ライブラリ、またはカスタム OAuth2 ライブラリに置き換えることができます。