お知らせ:

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

サードパーティ認証

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

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

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

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

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


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

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

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

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

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

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

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

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

iii. 追加設定を行いセットアップを完了する:

ホワイトリストの一部としてカスタムユーザー検証または許可ドメインを設定し、セットアップを完了します。

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


3. Androidプロジェクトに設定ファイルを再インポートする

CatalystコンソールからAndroidアプリのサードパーティ認証を有効にした後、アプリの環境に基づいて、Androidプロジェクトにapp_configuration_developmentまたはapp_configuration_productionプロパティファイルを再度ダウンロードしてインポートする必要があります。これは、このファイルに2つの追加プロパティ(JWTClientIDJWTClientSecret)が含まれるようになるためです。これらのプロパティは、SDKを再初期化した後の次のステップで渡す必要があります。

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

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

android_sdk_download

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

android_sdk_download_2

ダウンロードした設定ファイルは、こちらの手順に従って再インポートできます。

Note: SDKセットアップのヘルプページに記載されているステップ3〜5は再度実行する必要はありません。

4. SDKを再初期化する

新しくダウンロードしたプロパティをコードに含めるために、SDKを再初期化する必要があります。SDKの再初期化も、初回のSDK初期化と同様に2つの方法で行うことができます:プロジェクトの環境を指定する方法と、環境を指定せずにProduction環境をデフォルトとする方法です。ただし、サードパーティ認証を確認するための追加のSDKメソッドが含まれます。

方法 1: 環境を指定する

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

以下のように、ZCatalystAppクラスを通じてinit()メソッドに渡します:

copy
fun init(
context: Context, 
environment: ZCatalystSDKConfigs.Environment, 
isCustomLogin: Boolean = false
): ZCatalystApp

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

copy
ZCatalystApp.init(
context, 
ZCatalystSDKConfigs.Environment.{DEVELOPMENT},  
true
)

方法 2: 環境を指定しない

SDK初期化時にEnvironmentが指定されていない場合、デフォルトでPRODUCTIONとみなされます。この方法では、新しくダウンロードした設定ファイルから取得したJWTClientIDJWTClientSecretプロパティをZCatalystSDKConfigsBuilderを通じて指定してSDKを再初期化することもできます。

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

copy
fun init(context: Context, sdkConfigs: ZCatalystSDKConfigs, isCustomLogin: Boolean = false): ZCatalystApp

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

copy
val sdkConfigs = ZCatalystSDKConfigs.Builder(
          apiBaseURL: 'https://api.catalyst.zoho.com',
          clientID: '100****************************FX', //JWTクライアントID
          clientSecret: '19ed***************************2s', //JWTクライアントシークレット
          redirectURL: '*****',
          oauthScopes: 'ZOHOCATALYST.tables.rows.ALL, ZOHOCATALYST.tables.columns.ALL',
          portalID: '10******79',
          projectID: 28*******90
  ).setAccountsPortalBaseURL('https://accounts.zohoportal.com')
     .setUserAgent("ZCatalyst Sample App")
     .setRequestHeaders('PORTAL_ID', '*********')
     .build();

ZCatalystApp.init(context, sdkConfigs, true)


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

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

copy
fun handleCustomLogin(jwtToken :String, success: () -> Unit, failure: (ZCatalystException) -> Unit)

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

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

最終更新日 2026-03-30 13:40:30 +0530 IST