--- title: "Basic I/O Functionの設定" url: https://docs.catalyst.zoho.com/ja/tutorials/embedded-auth/nodejs/configure-function/ 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 --- # Basic I/O Functionの設定 次に、ファンクションコンポーネントを設定して、認可ポータルアプリケーションのコーディングを開始します。 ファンクションのディレクトリ(functions/authorization_portal_function)には以下が含まれています: * index.jsメインファンクションファイル * catalyst-config.json設定ファイル * Nodeモジュール * package.jsonおよびpackage-lock.json依存ファイル index.jsファイルにコードを追加します。 Basic I/Oファンクションには以下の機能が含まれています: * エンドユーザーの詳細情報がJSON入力として*Custom User Validation*ファンクションに提供されます。 * ファンクションは、エンドユーザーが認証されるか拒否されるかを決定するカスタムロジックを実装するようにコーディングされています。 注意: このチュートリアルでは、ユーザーのメールプロバイダーがZylker Technology(@zylker.com)以外の場合、エンドユーザーがアプリケーションにサインアップできないようにするCustom User Validationファンクションのロジックをコーディングしました。同じロジックを使用するか、お好みのロジックをコーディングできます。 それでは、Basic I/Oファンクションのコーディングを始めましょう。 以下のコードをコピーして、プロジェクトのfunctions/authorization_portal_functionディレクトリにあるindex.jsファイルに貼り付けて保存してください。アプリケーションのファイルの作業には、お好みのIDEを使用できます。 注意: このセクションのコードを十分に理解するために、必ず目を通してください。 const catalyst = require('zcatalyst-sdk-node') module.exports = (context, basicIO) => { const catalystApp = catalyst.initialize(context) const requestDetails = catalystApp.userManagement().getSignupValidationRequest(basicIO) if (requestDetails) { if (requestDetails.user_details.email_id.includes('@zylker.com')) { // 認証成功時に発生するアクションはカスタマイズ可能 basicIO.write(JSON.stringify({ status: 'success', user_details: { first_name: requestDetails.user_details.first_name, last_name: requestDetails.user_details.last_name, email_id: requestDetails.user_details.email_id, role_identifier: 'App User', // デフォルトのロールを上書きする場合は、ここでrole id/nameを指定できます。 org_id: '' // Org IDを指定する場合は、コンソールから正確にコピーしてください。 } })) } else { // ユーザーの認証が失敗した basicIO.write(JSON.stringify({ status: 'failure' })) } } context.close() } 注意: 上記で実装したロジックの代わりに、このSDKを使用して独自のカスタムロジックをコーディングすることもできます。 ファンクションディレクトリの設定が完了しました。次に、クライアントディレクトリの設定に進みます。