Configure the Function

Now, we will begin coding the authorization portal application by configuring the function component.

The function’s directory, (functions/authorization_portal_function), contains:

You will be adding code in the index.js file.

The Basic I/O function contains the following functionalities:

  • The end-user’s details will provided as a JSON input to the Custom User Validation function.
  • The function is coded to implement a custom logic based upon which the end-user will either be authenticated or denied.
Note: For the purpose of this tutorial, we have coded a logic for the Custom User Validation function where if the user's email provider is anyone other than Zylker Technology (@zylker.com) the end-user will not be able to sign up to the application. You can either use the same or code a logic of your preference.

Now, let’s begin coding the Basic I/O function.

Copy the code given below and paste it in the index.js file in the functions/authorization_portal_function directory of your project, and save the file. You can use any IDE of your choice to work with the application’s files.

Note: Please go through the code in this section to make sure you fully understand it.
    
index.js
copy
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")) { // The actions that occur in the event of a successful authentication can be customized 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", // If you want to override the default role, you can specify the role id/name here. org_id: "", // If you are providing the Org ID, make sure it is copied exactly from the console. }, }) ); } else { // The user has failed authentication basicIO.write( JSON.stringify({ status: "failure", }) ); } } context.close(); };
View more
Note: You can also use this SDK to code your own custom logic instead of the one implemented above.

The function directory is now configured. We can now proceed to configuring the client directory.

Last Updated 2024-02-10 13:06:26 +0530 +0530