お知らせ:

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

関数の設定

次に、関数コンポーネントを設定して認証ポータルアプリケーションのコーディングを開始します。

関数のディレクトリfunctions/authorized_portal_app)には、以下が含まれています:

  • Custom_User_Validation_Java.javaメイン関数ファイル
  • catalyst-config.json設定ファイル
  • libディレクトリ内のJavaライブラリファイル
  • .classpathおよび.project依存関係ファイル

Custom_User_Validation_Java.javaファイルにコードを追加します。

Basic I/O functionには以下の機能が含まれています:

  • エンドユーザーの詳細情報がJSON入力としてCustom User Validation関数に提供されます。
  • この関数は、エンドユーザーが認証されるか拒否されるかを決定するカスタムロジックを実装するようにコーディングされています。
Note: このチュートリアルでは、ユーザーのメールプロバイダーがZylker Technology(@zylker.com)以外の場合、エンドユーザーがアプリケーションにサインアップできないというCustom User Validation関数のロジックをコーディングしています。同じロジックを使用するか、お好みのロジックをコーディングできます。

それでは、Basic I/O functionのコーディングを始めましょう。

以下のコードをコピーして、プロジェクトのfunctions/authorization_portal_functionディレクトリにあるCustom_User_Validation_Java.javaファイルに貼り付け、ファイルを保存してください。アプリケーションのファイルの作業には、お好みのIDEを使用できます。

Note: このセクションのコードを確認して、完全に理解していることを確認してください。
Custom_User_Validation_Java.java
copy
import com.catalyst.Context;
import com.catalyst.basic.BasicIO;
import com.catalyst.basic.ZCFunction;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.logging.Logger;
import java.util.logging.Level;
import com.zc.api.APIConstants.ZCSignupValidationStatus;
import com.zc.common.ZCProject;
import com.zc.component.auth.ZCSignupResponseUserDetails;
import com.zc.component.auth.ZCSignupUserValidationRequest;
import com.zc.component.auth.ZCSignupUserValidationResponse;
import com.zc.component.users.ZCSignupUserService;
public class Custom_User_Validation_Java implements ZCFunction {
private static final Logger LOGGER = Logger.getLogger(Custom_User_Validation_Java.class.getName());
@Override
public void runner(Context context, BasicIO basicIO) throws Exception {
try {
ZCProject.initProject();
ZCSignupUserValidationRequest requestDetails = ZCSignupUserService.getSignupValidationRequest(basicIO);
if(requestDetails != null) {
ZCSignupUserValidationResponse validationResponse = ZCSignupUserValidationResponse.getInstance();
if(requestDetails.getUserDetails().getEmailId().contains("@zylker.com")) {
validationResponse.setStatus(ZCSignupValidationStatus.FAILURE); // ユーザーの認証が失敗しました
}
else { 
// 認証成功時に発生するアクションはカスタマイズ可能です
validationResponse.setStatus(ZCSignupValidationStatus.SUCCESS); 
ZCSignupResponseUserDetails respUserDetails = ZCSignupResponseUserDetails.getInstance();
respUserDetails.setRoleIdentifier("App User"); // デフォルトのロールを上書きする場合は、ここでロールID/名前を指定できます。
validationResponse.setUserDetails(respUserDetails);
}
basicIO.setStatus(200);
basicIO.write(new ObjectMapper().writeValueAsString(validationResponse));
}
}
catch(Exception e) {
LOGGER.log(Level.SEVERE,"Exception in Custom_User_Validation_Java",e);
basicIO.setStatus(500);
basicIO.write("An error has occured. Please try again after sometime.");
}   
}
}

View more

Note: 上記で実装したロジックの代わりに、このSDKを使用して独自のカスタムロジックをコーディングすることもできます。

関数ディレクトリの設定が完了しました。次に、クライアントディレクトリの設定に進みます。

最終更新日 2026-03-05 11:43:24 +0530 IST