サードパーティ認証
Cloud ScaleのAuthenticationでは、Catalystアプリケーションに任意のサードパーティ認証サービスを実装できます。エンドユーザーの認可と検証はサードパーティサービスによって処理され、データはCatalystに渡されます。
Androidアプリにサードパーティ認証を実装するには、以下に説明する手順を実行する必要があります。
1. サードパーティ認証サービスの設定
サードパーティ認証をCatalystアプリケーションに関連付ける前に、外部サービスでのサードパーティのロジックの処理を最初に完了させていることを確認する必要があります。任意のサードパーティで認証を設定できます。
2. Catalystでサードパーティ認証タイプをセットアップする
CatalystコンソールのCloud Scale内のAuthenticationコンポーネントに移動して、設定したサードパーティ認証をCatalystでセットアップする必要があります。手順はCatalystでのサードパーティ認証のセットアップのヘルプページで説明されています。
このプロセスには、以下の手順が含まれます:
i. カスタムサーバートークンの生成:
サードパーティサービスで認証された後にユーザーがリダイレクトされると、そのユーザーの認証情報をJava、Node.js、またはPythonでコーディングする認証関数に渡す必要があります。この関数はCatalystのサーバーサイドトークンjwtTokenまたはcustomTokenを生成し、クライアントサイド(Androidアプリ)に渡されます。Catalystコンソールでは、customTokenを生成するための既製スクリプトが提供されています。このスクリプトを、作成するサーバーサイド関数に組み込んでcustomTokenを返すことができます。
ii. クライアントサイドの設定をスキップする:
最後にログインプロセスを完了するためにクライアントロジックにカスタムサーバートークンを組み込むため、今はコンソールでのクライアントサイドの設定をスキップできます。
iii. 追加設定を行いセットアップを完了する:
ホワイトリストの一部としてカスタムユーザー検証または許可ドメインを設定し、セットアップを完了します。
Catalystは、サードパーティ認証サービスが有効になり、アプリケーションの認証がそのサービスによって処理されていることを確認するメッセージを表示します。
3. Androidプロジェクトに設定ファイルを再インポートする
CatalystコンソールからAndroidアプリのサードパーティ認証を有効にした後、アプリの環境に基づいて、Androidプロジェクトにapp_configuration_developmentまたはapp_configuration_productionプロパティファイルを再度ダウンロードしてインポートする必要があります。これは、このファイルに2つの追加プロパティ(JWTClientIDとJWTClientSecret)が含まれるようになるためです。これらのプロパティは、SDKを再初期化した後の次のステップで渡す必要があります。
設定ファイルを再ダウンロードするには:
- プロジェクトのCatalystコンソールでSettingsに移動し、次にDeveloper Toolsに移動します。Mobile SDKセクションの下に既存のAndroidパッケージがあります。パッケージを開きます。
- ポップアップで必要な環境タブをクリックし、Downloadをクリックして設定ファイルをダウンロードします。
ダウンロードした設定ファイルは、こちらの手順に従って再インポートできます。
4. SDKを再初期化する
新しくダウンロードしたプロパティをコードに含めるために、SDKを再初期化する必要があります。SDKの再初期化も、初回のSDK初期化と同様に2つの方法で行うことができます:プロジェクトの環境を指定する方法と、環境を指定せずにProduction環境をデフォルトとする方法です。ただし、サードパーティ認証を確認するための追加のSDKメソッドが含まれます。
方法 1: 環境を指定する
以下のようにSDKを再初期化できます。アプリが動作している環境に基づいて、EnvironmentにDEVELOPMENTまたはPRODUCTIONの値を渡すことができます。isCustomLoginは、サードパーティ認証の存在を示すブール値です。
以下のように、ZCatalystAppクラスを通じてinit()メソッドに渡します:
fun init(
context: Context,
environment: ZCatalystSDKConfigs.Environment,
isCustomLogin: Boolean = false
): ZCatalystApp
この操作のサンプルコードスニペットを以下に示します:
ZCatalystApp.init(
context,
ZCatalystSDKConfigs.Environment.{DEVELOPMENT},
true
)
方法 2: 環境を指定しない
SDK初期化時にEnvironmentが指定されていない場合、デフォルトでPRODUCTIONとみなされます。この方法では、新しくダウンロードした設定ファイルから取得したJWTClientIDとJWTClientSecretプロパティをZCatalystSDKConfigsBuilderを通じて指定してSDKを再初期化することもできます。
以下の方法で行うことができます:
fun init(context: Context, sdkConfigs: ZCatalystSDKConfigs, isCustomLogin: Boolean = false): ZCatalystApp
以下にサンプルコードスニペットを示します:
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()メソッドに渡す必要があります:
fun handleCustomLogin(jwtToken :String, success: () -> Unit, failure: (ZCatalystException) -> Unit)
以下にサンプルコードスニペットを示します:
ZCatalystApp.getInstance().handleCustomLogin("123xxxxxxxx", {
println("Login successfully.")
}, {
println("Login failed.")
})
最終更新日 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us

