お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Custom User Validation

Catalyst Authenticationでは、Catalystアプリケーションへのサインアップ時に、カスタムのBasic I/O関数を使用してエンドユーザーを認可・検証できます。この関数を通じて、ユーザーが提供する認証情報を独自のロジックで処理し、アプリケーションへのアクセスを許可できます。

Custom User Validation関数のサンプルコードを以下に示します。

サンプルコードスニペット


Package Imports
copy
import com.catalyst.Context;
import com.catalyst.basic.BasicIO;
import com.catalyst.basic.ZCFunction;
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;

バリデーションロジックはお好みに応じて設定できます。この例では、@notallowedemailを使用したロジックを示しています。ユーザーが許可されていないメールアドレスでサインアップしようとした場合、サインアップは許可されません。

copy
public class MainClass implements ZCFunction {
 private static final Logger LOGGER = Logger.getLogger(MainClass.class.getName());
 @Override
    public void runner(Context context, BasicIO basicIO) throws Exception
{
  try 
  {
   ZCProject.initProject();
   ZCSignupUserValidationRequest requestDetails = ZCSignupUserService.getSignupValidationRequest(basicIO);
   if(requestDetails != null) {
    /* Validation logic starts */
    LOGGER.info("Inside null check");
    ZCSignupUserValidationResponse validationResponse = ZCSignupUserValidationResponse.getInstance();
    if(requestDetails.getUserDetails().getEmailId().contains("@notallowedmail")) 
    {
     validationResponse.setStatus(ZCSignupValidationStatus.FAILURE); // ユーザーの認証が失敗した
    }
    else 
    {
     validationResponse.setStatus(ZCSignupValidationStatus.SUCCESS); // 認証成功時に発生するアクションはカスタマイズ可能
     ZCSignupResponseUserDetails respUserDetails = ZCSignupResponseUserDetails.getInstance();
     respUserDetails.setFirstName("Patricial");
     respUserDetails.setLastName("Boyle");
     respUserDetails.setRoleIdentifier("App User");
     respUserDetails.setOrgId("1241113");
     validationResponse.setUserDetails(respUserDetails);
    }
    basicIO.write(validationResponse);
    /* Validation logic ends */
   }
  }
  catch(Exception e) 
  {
   basicIO.write(e);
   LOGGER.log(Level.SEVERE,"Exception in MainClass",e);
   basicIO.setStatus(500);
  }
 }
}

この関数をテストするには、以下の.JSON形式でユーザーの詳細を渡します:

copy
{
"request_type": "add_user",
"request_details": 
{
"user_details": 
{
"email_id": "emmy@zylker.com",
"first_name": "Emma",
"last_name": "Thompson",
"org_id": "65**************",
"role_details": 
{
"role_name": "Moderator",
"role_id": "10*****"
}
},
"auth_type": "web"
}
}

最終更新日 2026-03-24 17:38:39 +0530 IST

このページについて

関連リンク

Authentication