Basic I/O Functionの設定
ここからファンクションコンポーネントを設定して、認証ポータルアプリケーションのコーディングを開始します。
ファンクションのディレクトリ(functions/authorization_portal_function)には以下が含まれています:
- Custom_User_Validation.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.");
}
}
}
Note: 上記の実装の代わりに、このSDKを使用して独自のカスタムロジックをコーディングすることもできます。
ファンクションディレクトリの設定が完了しました。次に、クライアントディレクトリの設定に進みます。
最終更新日 2026-03-05 11:43:24 +0530 IST