お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

サードパーティ認証

Cloud ScaleのAuthenticationでは、Catalystアプリケーションに任意のサードパーティ認証サービスを実装できます。エンドユーザーの認可と検証はサードパーティサービスによって処理され、データはCatalystに渡されます。

Note: サードパーティ認証サービスを実装しているため、アプリケーションのセキュリティインフラストラクチャは、選択したサードパーティサービスの効率性に依存することをご了承ください。

モバイルアプリにサードパーティ認証を実装するには、以下に説明する手順を実行する必要があります。

1. サードパーティ認証サービスの設定

サードパーティ認証をCatalystアプリケーションに関連付ける前に、外部サービスでのサードパーティロジックの処理を完了していることを確認してください。任意のサードパーティで認証を設定できます。


2. Catalystでのサードパーティ認証タイプのセットアップ

CatalystコンソールのCloud ScaleのAuthenticationコンポーネントに移動して、設定したサードパーティ認証をCatalystでセットアップする必要があります。手順はCatalystでのサードパーティ認証のセットアップのヘルプページで説明されています。

このプロセスには、以下の手順が含まれます:

i. カスタムサーバートークンの生成:

ユーザーが認証後にサードパーティサービスからリダイレクトされると、そのクレデンシャルをJavaNode.js、またはPythonでコーディングする必要がある認証関数に渡す必要があります。この関数はCatalystサーバーサイドトークンjwtTokenまたはcustomTokenを生成し、クライアント側(Flutterアプリ)に渡されます。CatalystコンソールはcustomTokenを生成するためのすぐに使えるスクリプトを提供しています。このスクリプトを、customTokenを返すサーバーサイド関数に組み込むことができます。

Note: Catalystアプリケーションでサードパーティ認証を有効にするには、コンソールでPublic Signupを有効にしていることを確認してください。

ii. クライアント側の設定をスキップする:

コンソールでのクライアント側の設定は今はスキップできます。ログインプロセスを完了するために、最後にクライアントロジックにカスタムサーバートークンを組み込みます。

iii. 追加設定の構成とセットアップの完了:

ホワイトリストの一部としてCustomer User ValidationまたはAuthorized Domainsを設定し、セットアップを完了します。

Catalystは、サードパーティ認証サービスが有効になり、アプリケーションの認証がそのサービスによって処理されていることを確認表示します。


3. FlutterプロジェクトにConfiguration Fileを再インポートする

Catalystコンソールからアプリのサードパーティ認証を有効にした後、アプリを開発しているプラットフォームとアプリの環境に基づいて、Flutterプロジェクトにプロパティファイルを再度ダウンロードしてインポートする必要があります。つまり、Androidアプリを開発している場合はapp_configuration_developmentまたはapp_configuration_productionファイルをダウンロードし、iOSアプリを開発している場合はAppConfigurationDevelopment.plistまたはAppConfigurationProduction.plistファイルをダウンロードしてください。

このファイルには、JWTClientIDJWTClientSecretの2つの追加プロパティが含まれるためです。これらのプロパティは、SDKを再初期化した後の次のステップで渡す必要があります。

設定ファイルを再ダウンロードするには:

  1. プロジェクトのCatalystコンソールでSettingsに移動し、次にDeveloper Toolsに移動します。Mobile SDKセクションに既存のAndroidまたはiOSパッケージがあります。必要なパッケージを開きます。

android_ios_sdk_download

  1. ポップアップで必要な環境タブをクリックし、Downloadをクリックして設定ファイルをダウンロードします。

android_sdk_download_2

ダウンロードした設定ファイルを、Android向けはこちら、iOS向けはこちらに記載された手順に従って再インポートできます。

Note: Android SDKセットアップのステップ3〜5、またはiOS SDKセットアップのステップ3、4、6は再度実行する必要はありません。

4. Flutter SDKの再初期化

新しくダウンロードしたプロパティをコードに含めるために、SDKを再初期化する必要があります。SDKの再初期化も、最初のSDK初期化と同様に、Catalyst設定ファイルを使用する方法とカスタムSDK Configurationオブジェクトを渡す方法の2つの方法で行えます。ただし、サードパーティ認証を確認するための追加のSDKメソッドが含まれます。

1. Catalyst Configuration Fileを使用する方法

プロジェクトの環境を指定するか、Production環境がデフォルトとみなされる環境を指定せずに行うことができます。

環境を指定する場合:

以下に示すようにSDKを再初期化できます。Environmentの値は、アプリが動作している環境に基づいてDEVELOPMENTまたはPRODUCTIONのいずれかを渡すことができます。isCustomLoginは、サードパーティ認証の存在を示すブーリアン値です。

これらは、以下に示すようにZCatalystAppクラスのinit()メソッドに渡されます:

copy
ZCatalystApp.init({
      ZCatalystEnvironment? environment,
      bool isCustomLogin = false
    });

この操作のサンプルコードスニペットを以下に示します:

copy
void main() async {
  try {
    await ZCatalystApp.init(
environment: ZCatalystEnvironment.DEVELOPMENT, 
isCustomLogin: true
);
  } on ZCatalystException catch (ex) {
    print('Initialized Failed: ${ex.toString()}');
  }
}

環境を指定しない場合:

SDKの初期化時にEnvironmentが指定されない場合、デフォルトでPRODUCTIONとみなされます。そのため、アプリがProduction環境で動作している場合は、以下の方法で直接SDKを初期化できます:

copy
ZCatalystApp.init({
      bool isCustomLogin = false
});

この操作のサンプルコードスニペットを以下に示します:

copy
void main() async {
  try {
    await ZCatalystApp.init(
isCustomLogin: true
);
  } on ZCatalystException catch (ex) {
    print('Initialized Failed: ${ex.toString()}');
  }
}

2. カスタムSDK Configurationオブジェクトを渡す方法:

別の方法として、ZCatalystSDKConfigsBuilderクラスを使用して渡せるカスタムZCatalystSDKConfigsオブジェクトを構築して、Flutter SDKを再初期化できます。このオブジェクトに含まれるプロパティについてはこちらを参照してください。

この方法では、新しくダウンロードした設定ファイルから取得したJWTClientIDJWTClientSecretのプロパティをZCatalystSDKConfigsBuilderを通じて指定してSDKを再初期化することもできます。

以下の方法で行うことができます:

copy
ZCatalystApp.init({
      ZCatalystSDKConfigs? sdkConfigs,
      ZCatalystEnvironment? environment,
      bool isCustomLogin = true
    });

サンプルコードスニペットを以下に示します:

copy
ZCatalystSDKConfigs configs = ZCatalystSDKConfigsBuilder.customLogin(
    accountsPortalBaseURL: "https://accounts.zohoportal.com/",
    apiBaseURL: "https://api.catalyst.zoho.com/",
    environment: ZCatalystEnvironment.DEVELOPMENT,
    jwtClientID: "100****************************FX",
    jwtClientSecret: "19ed***************************2s",
    oauthScopes: "ZOHOCATALYST.tables.rows.ALL, ZOHOCATALYST.tables.columns.ALL",
    portalID: "10******79",
    projectID:28*****90 ,
    redirectURL: "*****"
    );

5. サードパーティ認証のユーザーログインロジックのコーディング

ここで、モバイルアプリでサードパーティ認証のログインロジックを処理してセットアップを完了できます。ステップ2で生成したcustomTokenまたはjwtTokenを、以下に示すようにhandleCustomLogin()メソッドに渡す必要があります:

copy
Future<void> handleCustomLogin(String jwtToken)

サンプルコードスニペットを以下に示します:

copy
await ZCatalystApp.getInstance().handleCustomLogin("123xxxxxxxx");
Note: カスタムサーバートークンは、ユーザーがサードパーティ認証サービスを使用してアプリケーションにログインするたびに生成する必要があります。

最終更新日 2026-02-23 18:09:41 +0530 IST