--- title: "Basic I/O functionの設定" url: https://docs.catalyst.zoho.com/ja/tutorials/hosted-login-app/java/configure-function/ description: "Catalyst Hosted Authenticationの機能を使用して、ユーザーサインアップ、アプリケーションログイン、パスワードリセットを提供し、主要なフェデレーテッドIDプロバイダーを使用したサインインを実装する、シンプルなBasicまたはReactアプリケーションを作成します。" last_updated: 2026-03-05T06:13:24Z service: All Services type: tutorial related_links: - name: "Basic I/O Functions" url: /ja/serverless/help/functions/basic-io/ - name: "Functionsディレクトリ構造" url: /ja/cli/v1/project-directory-structure/functions-directory --- # 関数の設定 次に、関数コンポーネントを設定して認証ポータルアプリケーションのコーディングを開始します。 [関数のディレクトリ](https://docs.catalyst.zoho.com/ja/cli/v1/project-directory-structure/functions-directory)(`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** ```java 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](https://docs.catalyst.zoho.com/ja/sdk/java/v1/cloud-scale/authentication/custom-user-validation/)を使用して独自のカスタムロジックをコーディングすることもできます。 関数ディレクトリの設定が完了しました。次に、クライアントディレクトリの設定に進みます。