全部產品
Search
文件中心

Identity as a Service:代碼整合

更新時間:Mar 25, 2026

本文檔介紹如何在代碼中整合 IDaaS SDK,擷取 M2M 用戶端令牌。

適用範圍

已完成環境準備工作,相關配置參見環境準備

SDK 初始化

讀取使用者在環境準備階段指定的設定檔,完成 IDaaS 配置的初始化。

IDaaSCredentialProviderFactory.init();
重要
  • SDK 功能均依賴 init() 初始化方法,因此 init() 初始化方法必須先完成,否則擷取 IDaaSCredentialProvider 等均會報錯,導致業務中斷。

  • 初始化會檢查配置並擷取訪問設定檔中指定的 scope 的 Access Token,若配置缺失或配置錯誤導致擷取 Access Token 失敗,會直接報錯,導致業務中斷。

擷取 Access Token

  1. 擷取 IDaaS credentialProvider,用於擷取 Access Token。

    • 通過無參構造方法擷取 IDaaS credentialProvider,擷取訪問設定檔中指定的 scope 的 Access Token。

      IDaaSCredentialProvider credentialProvider = IDaaSCredentialProviderFactory.getIDaaSCredentialProvider();
    • 通過有參構造方法擷取 IDaaS credentialProvider,scope 可自行指定,擷取訪問指定的 scope 的 Access Token。格式為受眾標識|許可權標識,對應所要訪問的 M2M 服務端應用的受眾標識和許可權標識。

      IDaaSCredentialProvider credentialProvider = IDaaSCredentialProviderFactory.getIDaaSCredentialProvider(scope);
  2. Access Token 是 Bearer 類型,通過 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();
        
    // 無參構造方法擷取 IDaaS credentialProvider,擷取訪問設定檔中指定的 scope 的 Access Token
    IDaaSCredentialProvider credentialProvider = IDaaSCredentialProviderFactory.getIDaaSCredentialProvider();
    String accessToken = credentialProvider.getBearerToken();
        
    // 有參構造方法擷取 IDaaS credentialProvider,擷取訪問自行指定的 scope 的 Access Token
    // String scope =  "api.example.com|read:file";
    // IDaaSCredentialProvider anotherCredentialProvider = IDaaSCredentialProviderFactory.getIDaaSCredentialProvider(scope);
    // String accessToken = anotherCredentialProvider.getBearerToken();
        
    System.out.println(accessToken);
  }
}