本ドキュメントでは、IDaaS SDK をコードに統合して M2M クライアントトークンを取得する方法について説明します。
前提条件
開始する前に、環境の事前準備を完了してください。詳細については、「環境準備」をご参照ください。
SDK の初期化
SDK は、環境準備時に指定した構成ファイルを読み取ることで IDaaS 構成を初期化します。
IDaaSCredentialProviderFactory.init();重要
SDK のすべての機能は init() メソッドに依存しており、このメソッドを最初に呼び出す必要があります。呼び出さない場合、IDaaSCredentialProvider の取得時にエラーが発生し、サービス中断を引き起こす可能性があります。
SDK は初期化時にアクセストークンの取得を試行します。構成が不足している、または不正な場合、この試行は失敗し、エラーをスローしてサービスを中断します。
アクセストークンの取得
IDaaS 認証情報プロバイダーを取得してアクセストークンを取得します。
引数なしコンストラクターを使用して IDaaS 認証情報プロバイダーを取得します。これにより、構成ファイルで指定された範囲に対応するアクセストークンが取得されます。
IDaaSCredentialProvider credentialProvider = IDaaSCredentialProviderFactory.getIDaaSCredentialProvider();パラメーター付きコンストラクターを使用して、カスタム範囲向けの IDaaS 認証情報プロバイダーを取得します。範囲のフォーマットは
オーディエンス ID|権限 IDであり、アクセス対象の M2M サーバーアプリケーションのオーディエンス ID および権限 ID に対応します。IDaaSCredentialProvider credentialProvider = IDaaSCredentialProviderFactory.getIDaaSCredentialProvider(scope);
アクセストークンはベアラータイプです。
credentialProviderオブジェクトに対してgetBearerToken()メソッドを呼び出して取得します。String accessToken = credentialProvider.getBearerToken();
コード例
import com.cloud_idaas.core.factory.IDaaSCredentialProviderFactory;
import com.cloud_idaas.core.provider.IDaaSCredentialProvider;
public class sample {
public static void main(String[] args) {
// 構成ファイルから IDaaS 構成を初期化します。
IDaaSCredentialProviderFactory.init();
// 構成ファイルで指定された範囲向けの認証情報プロバイダーを取得します。
IDaaSCredentialProvider credentialProvider = IDaaSCredentialProviderFactory.getIDaaSCredentialProvider();
String accessToken = credentialProvider.getBearerToken();
// カスタム範囲向けの認証情報プロバイダーを取得します。
// String scope = "api.example.com|read:file";
// IDaaSCredentialProvider anotherCredentialProvider = IDaaSCredentialProviderFactory.getIDaaSCredentialProvider(scope);
// String accessToken = anotherCredentialProvider.getBearerToken();
System.out.println(accessToken);
}
}