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