Basic I/Oファンクションの設定
次に、ファンクションコンポーネントを設定してAuthorization Portalアプリケーションのコーディングを開始します。
ファンクションのディレクトリ(functions/authorization_portal_function)には以下が含まれています:
- main.pyメインファンクションファイル
- catalyst-config.json設定ファイル
- ハンドラーファイル
- 追加する外部ライブラリを記載するためのrequirements.txtファイル
main.pyファイルにコードを追加します。
Basic I/Oファンクションには以下の機能が含まれています:
- エンドユーザーの詳細情報がJSON入力としてカスタムユーザー検証ファンクションに提供されます。
- ファンクションは、エンドユーザーが認証されるか拒否されるかのカスタムロジックを実装するようにコーディングされています。
注: このチュートリアルでは、ユーザーのメールプロバイダーがZylker Technology(@zylker.com)以外の場合、エンドユーザーがアプリケーションにサインアップできないというカスタムユーザー検証ファンクションのロジックをコーディングしました。同じものを使用するか、お好みのロジックをコーディングできます。
それでは、Basic I/Oファンクションのコーディングを始めましょう。
以下のコードをコピーして、プロジェクトのfunctions/authorization_portal_functionディレクトリにあるmain.pyファイルに貼り付けて、ファイルを保存してください。任意のIDEを使用してアプリケーションのファイルを操作できます。
注: このセクションのコードを完全に理解するために、必ず一通り確認してください。
main.py
copy
import json
import zcatalyst_sdk
def handler(context, basicio):
catalyst_app = zcatalyst_sdk.initialize()
auth_service = catalyst_app.authentication()
request_details = auth_service.get_signup_validation_request(basicio)
if request_details:
if "@zylker.com" in request_details["user_details"]["email_id"]:
basicio.write(json.dumps({"status": "failure"}))
# ユーザーの認証に失敗しました
else:
# 認証成功時に発生するアクションをカスタマイズできます
basicio.write(
json.dumps(
{
"status": "success",
"user_details": {
"first_name": request_details["user_details"]["first_name"],
"last_name": request_details["user_details"]["last_name"],
"email_id": request_details["user_details"]["email_id"],
"role_identifier": "App User",
# デフォルトのロールをオーバーライドする場合は、ここでロールID/名前を指定できます。
"org_id": "orgId"
# Org IDを指定する場合は、コンソールから正確にコピーされていることを確認してください。
},
}
)
)
context.close()
注: 上記で実装したロジックの代わりに、このSDKを使用して独自のカスタムロジックをコーディングすることもできます。
ファンクションディレクトリの設定が完了しました。次に、クライアントディレクトリの設定に進みます。
最終更新日 2026-03-30 13:40:30 +0530 IST