# Authentication -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.941Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Authentication ### Introduction Authentication is a component of the Catalyst Cloud Scale service that enables you to add end-users to your application, customize app login and sign-up forms to match your business branding, manage user accounts and roles, and ensure secure access throughout your application directly from the console. This authentication component, powered by Catalyst, provides a secure and scalable way to handle user authentication and authorization within your application. You can perform the following actions using Authentication from the remote console: * Add or remove the end-users of your application * Enable or disable their user accounts in your application * Create templates for emails to invite new users to access the application * Reset their passwords * Access Catalyst's user sign-in code snippet that you can include in your application * Configure Google and Zoho sign-in providers for your application * Create and manage roles to define the levels of access and permissions for users <br /> Catalyst provides two types of user authentication for your application: - Native Catalyst Authentication - Hosted Authentication Type - Embedded Authentication Type - Third-party Authentication Type Note: You can implement one instance of each of these authentication methods in a single application. You must set up at least one authentication method before you start adding users to your application. With Authentication, the backend infrastructure management is entirely handled by Catalyst, allowing you to integrate it in your application with ease and with minimal coding effort. All the operations that you can perform from the authentication console are listed below: * Configure and implement an authentication type of your preference * Design the login element of your application * Enable user login through common social login platforms * Add or remove end-users of your application * Configure and change the end-users' user roles to define their levels of access and permissions to various Catalyst features * Configure more than one type of authentication * Authorize external domains and enable CORS and iFrame for your application in them * Design the email templates that need to be sent to your end-users in the event of an initial sign up or if their passwords need to be reset The document is divided into five pages to cover the five features of Catalyst Authentication: Users, Email Templates, Sign-in Method, Roles, Authorized Domains. Each section explains the key concepts, benefits, and implementation of each feature. To learn about using Authentication in the development and production environments, visit the Environments help page. ### SDK and API documentation You can also add and manage the end-users of your application, and obtain user details using Catalyst API and SDKs. For more information and code samples on working in these programming environments, refer to these help pages: * Authentication - Java SDK * Authentication - Node.js SDK * Authentication - Python SDK * Authentication - Web SDK * Authentication API <br /> -------------------------------------------------------------------------------- title: "Benefits" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.941Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/benefits/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Benefits * You have the flexibility of implementing Catalyst Authentication using different methods: Native Catalyst Authentication (Hosted Authentication Type and Embedded Authentication Type) and Third-party Authentication Type. * Each authentication type provides you with a unique way to configure and design your login element. * You can directly add end-users to your application and configure their user roles upon your requirements. * You can customize additional user roles, and specific permissions can be provided to dictate access to Data Store components. * You have the option to add end-users to an organization using an existing organization, or have Catalyst create a new organization automatically when the user is added. * You can now customize and style templates of the Email Verification and Password Reset emails to complement your branding requirements. * Enable and disable CORS and iFrame access to your application with a few simple steps. * Complex authentication types can be enabled and configured for your application directly from the console, and this does not require complex coding. <br /> -------------------------------------------------------------------------------- title: "Use Cases" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.941Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/use-cases/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Use Cases Catalyst Authentication features can be used in the following scenarios: * An internal web forum, meant for the employees of an organization to discuss and gather information about the activities and tasks undertaken in various departments, uses Catalyst Authentication to manage its users. The collaborators of the web app development team can invite users to access the forum, assign and create custom roles for users, modify user information, or delete users from the console.<br /><br />The application provides three levels of access to its various users: App Administrator, App Moderator, App User. The users of the app user role can only submit posts in the forum, while the app moderators can approve or decline the content submitted for approval, and the app administrators can also permanently delete the content in the forum. These permissions for the user roles are configured in the Data Store. * An application that can be accessed by different kinds of users, and based on the type of user you can have three different types of login element. For example, if your application is accessed by members of your organization, you can choose to design the login page from the console to ensure only to contain social login elements, instead of a generic login form. For the same application you can also configure and design a dedicated login page with a conventional login form for new end-users that happen to be outside your organization. * A travel planner web app requires its widget to be embedded in a hotel booking website, developed by one of its auxiliary companies. The hotel booking application also requires access to the travel web app's function endpoints, to obtain specific data of their common customers. The travel web app makes use of Catalyst Authentication to quickly authorize the domain of the auxiliary company, and CORS and iFrame for it. The travel planner web app also implements a Google sign-in option in its client application, and manages it from the Catalyst console. * Catalyst Authentication offers you the option to enable or disable public signups. If you are building an application where you do not want to provide a login element at all and yet authorize users to your application, you can do so by disabling public signups and directly adding the end-user from the console. If you wish to enhance the security of your application further, you can enable the Custom User Validation and create a Catalyst Basic I/O functions to validate the user details and add them to your application. * Every company has an identity and branding colors and font that they follow to stand out and become recognizable. Using Catalyst Authentication, you can maintain brand consistency when it comes to sending out sign up emails and password action emails without any additional coding. The console offers you email templates that you can use to style your user authorization emails in a manner that resonates with your brand. <br /> -------------------------------------------------------------------------------- title: "Manage Multiple Authentication Types" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.942Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/authentication-types/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Manage Multiple Authentication Types ### Introduction Catalyst offers authentication solutions in three types: The Hosted Authentication Type, The Embedded Authentication Type, and The Third-party Authentication Type You can implement one instance of each authentication type in each of your Catalyst applications. This help page provides details about implementing additional authentication types, after the first one is implemented. The *Authentication Type* section enables you to view what authentication types have been enabled, add additional authentication methods, and view and edit existing authentication types. <br /> Note: You need to enable at least one authentication type to access this section. When you complete setting up and enabling each authentication type, you will be directed to the *Authentication Type* section of the console. For example, if you have enabled the Hosted Authentication Type, then you will see the following screen: <br /> * You will be able to view which authentication type is currently enabled. * You will have the option to configure, edit and enable or disable Social Logins of your choice. * You will be able to view and copy the **Login URL**. * You can click **Access URL** to view the login element as it would appear to the end-user. * You can click **Edit Page** to edit the style and functionality of the login page. ### Adding More Than One Type of Authentication To add an additional authentication method after the first type is implemented: 1. Click **Add Authentication** from the *Authentication Type* section to add another authentication type. <br /> Note: In this example, the Hosted Authentication Type has already been set up. 2. Click **Configure** option of the authentication type you wish to configure. For instance, click **Configure** next to *Embedded Authentication* to set up embedded authentication type. Find out how to configure Embedded Authentication type here. <br /> 3. Once you have completed setting up embedded authentication, you will be redirected to the *Authentication Type* section. In the **Enabled Type** section, you will be able to see that both *Hosted* and *Embedded* authentication types have been enabled. <br /> 4. You can click **Add Authentication** again to set up *Third-party Authentication* along with the *Native Catalyst Authentication* types that you have set up. * Click **Configure** next to the *Third Party Authentication* option to begin set up. <br /> * Follow the authentication setup steps to configure third-party authentication on your Catalyst application. 5. After you complete the set up, you will be directed to the *Authentication Types* section. All three authentication types have now been enabled for your Catalyst application. <br /> ### Managing More Than One Authentication Type After you complete the set up, you will be directed to the Authentication Types section. All three authentication types have now been enabled for your Catalyst application. <br /> Catalyst will then display the configuration of the authentication type you selected. <br /> -------------------------------------------------------------------------------- title: "Public Signup" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.942Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/public-signup/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Public Signup Enabling Public Signup will display the signup option in your login element and allow new users to sign up to your application. Public Signup is disabled by default. You will not be able to access or enable the following while it is disabled: * The Signup option will not be displayed to your end-users, and you will not be able to add any of the Social Logins. Note:Disabling Public Signup in one authentication type will disable it for all authentication types. * You will not be able to authenticate your end-users using custom logic through Custom User Validation. ### Enable Public Signup The option to enable Public Signup will be present while you are setting up any of the three authentication types. You can also enable it any time after an authentication is set up, from the *Authentication Types* section. Note: Public Signup is mandatory to proceed with third-party authentication setup. 1. Enable the option by clicking the toggle button. <br /> 2. Click **Yes, Proceed** after reviewing the pop-up. <br /> Note: If you enable Public Signup for one authentication type, it will be automatically enabled for all authentication types. ### Disable Public Signup The option to disable Public Signup will also be available while you are setting up an authentication type, and in the *Authentication Types* section. To disable Public Signup: 1. Click the Public Signup toggle-button. <br /> 2. Click **Confirm**, after reviewing the pop-up and entering "**DISABLE**" in the input section. <br /> Public Signup will be disabled for all authentication types. -------------------------------------------------------------------------------- title: "Cross Domain Access" description: "Authentication offers a cross domain access feature that allows you to authenticate backend requirements for frontend services." last_updated: "2026-09-09T11:06:25.942Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/cross-domain-access/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Authenticate Backend Requirements for Frontend Services Catalyst Authentication offers you a solution to authenticate invocation calls made to backend services hosted on Catalyst; made from frontend services hosted in Catalyst frontend hosting services. Note: This authentication method can only be applied if both your frontend service and backend service are hosted in the same project. The following is an example code snippet highlighting the manner in which you can generate the required token to authenticate backend calls made to a Catalyst backend hosting service made from a Catalyst frontend hosting service. document.getElementById("fn-btn").addEventListener("click", function(e) { e.preventDefault(); var city = "test"; var auth = catalyst.auth; auth.generateAuthToken().then((response) => { const token = response.access_token; fetch("URL_endpoint", { < !--URL end point of your backend service.-- > method: "POST", headers: { Authorization: `${token}`, "Content-Type": "application/json", }, body: JSON.stringify({ city_name: city, }), }) .then((response) => response.json()) .then((data) => { alert(data.message); }) .catch((err) => { console.error("Error during fetch:", err); alert("An error occurred. Please try again."); }); }) .catch((err) => { console.error("Error generating token:", err); alert("Failed to generate authentication token."); }); }); The logic detailed in the above snippet is explained below: * When an authenticated user accesses the application, their token can be obtained using the generateAuthToken method. * The user token that is obtained will be stored in the access_token response key. * The obtained token will be set as the value for the Authorization header key when the endpoint URL of the backend service is invoked. * A Functions URL, AppSail URL, or Slate's Access URL, essentially, the URL generated by Catalyst when you host your backend code, will be the one you provide in line no 7. Now, with the URL invoked, the following section will list the steps detailing the manner in which authentication will be carried out: * Once the backend service is invoked. The Catalyst SDK will be initialized using the request object. * The request object will contain the token, ensuring this initialization is done in an authenticated manner. * Catalyst will ensure that this initialization is made for all Catalyst required scopes. Thereby ensuring that the invocation calls made from the frontend service to the backend service hosted in Catalyst are effectively authenticated. Notes:<br /> * The generated access token will only be valid for 1 hour. * You will need to ensure that the domain of the backend service and the frontend service are whitelisted using the CORS feature present in the Authentication component. You can find out more about the CORS feature from this help documentation. Once the generateAuthToken method is plugged into your authentication logic, the applications hosted in Catalyst frontend hosting services will be able to make secure invocations of the backend services hosted in other Catalyst hosting services using *Catalyst Authentication*. ## Email Templates -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.943Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/email-templates/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Email Templates Authentication provides you with default templates for email verification and password reset emails. You can override these default templates if needed, and customize the contents of the emails' subject, message body, design of the template and sender's email address in the template, and save it. Note: You will have to enable at least one authentication type to access this section. The *Email Verification* email is sent to your end-user to invite, verify and add them to your application. This email is either sent when they are added to your application by you through *User Management* or when they sign up to your application for the first time. <br /> The *Password Reset* email is triggered by your end-user when they click the password reset/forgot password option in your login element. You can also send a Password Reset email to your user from the console using the User Management feature. <br /> Note: You can learn more about how Catalyst Cloud Scale enables you to send email to your end-users from your Catalyst application in the Mail component help page. <br /> -------------------------------------------------------------------------------- title: "Key Concepts and Benefits" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.943Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/email-templates/benefits-and-key-concepts/" service: "Cloud Scale" -------------------------------------------------------------------------------- ### Key Concepts #### Placeholders You can insert placeholders in the email's subject and message body for dynamic content. A placeholder is a representational variable for a dynamic value that will be filled in when the email is sent. The placeholder variable refers to the API name of the specific component. It is inserted with **%** symbols at the beginning and the end of the variable's name like: **%APP_NAME%** or **%LINK%**. <br /> There are three placeholders available that you can use in email templates: * %EMAIL%: Denotes the email address of the user that they used to register for an account in Catalyst. This value is obtained from the user's information stored in Catalyst. * %APP_NAME%: Denotes the name of your application. This value is the same as the name you specified in the client-package.jsonconfiguration file, and is obtained after you host the application. * %LINK%: Denotes either the hyperlink of the Web App URL or the hyperlink of the reset password page that you configure in your application. The values of these placeholders are populated automatically from the data obtained from your project specifications, and the populated values are inserted into the emails when they are sent. ### Benefits * Email templates enable you to define a standard format for the user invite and password reset emails, retaining uniformity in the structure of the emails you send to your users. * The placeholders in the templates auto-fill the essential details in your email, preventing manual workload from your end. * You can maintain brand consistency in your communications with your application users by styling and drafting the templates as per your needs. <br /> -------------------------------------------------------------------------------- title: "Customizing Email Templates" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.943Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/email-templates/customizing-email-templates/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Email Templates Customization The Email Templates feature allows you to customize the styling of the *Email Verification* and *Password Reset* emails. You can customize the font, subject, email content and style of the email based on your business requirements and branding preferences. You can also view the live preview of the email as you configure the template. <br /> Note: You can customize the style of the email verification and password reset emails by adding the HTML code of the emails as the templates in the console. ### Customize the Default Email Templates 1. Navigate to Cloud Scale > Authentication, and click the Email Templates tab. <br /> 2. From the **Email Verification** tab, you can view and customize the Email Verification template: - If you wish to customize the template of the verification email, click **Edit**. <br /> - You can edit the mail's subject and the content of the email and style it using HTML. You can either edit in the console, or you can paste the HTML code of the template. The changes you make to the template can be viewed in the **Preview** section. <br /> 3. Click **Save**, to confirm the changes and save the *Email Verification* template. 4. Click **Password Reset** tab to view and customize the *Password Reset* template: - Similar to the *Email Verification* template, you can customize and change, the email's subject, and the content using HTML. Click the **Edit** button. <br /> - As in Email Verification, you will be able to view the changes made in the Preview Section. <br /> 5. Click **Save**, to confirm the changes and save the *Password Reset* template. The email verification and password reset emails that will be sent from your Catalyst application will now be sent as per the customized templates. <br /> ## Native Catalyst Authentication -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.944Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Native Catalyst Authentication Native Catalyst Authentication is an Authentication type where the entire authentication setup is handled by Catalyst, without the requirement of any additional coding or infrastructure management from your end. With this authentication type, Catalyst secures end-user access and all the end points of your application, relieving you from the responsibility of handling the backend security requirements. Native Catalyst Authentication can be implemented using either or both of these methods: * Hosted Login: This enables you to create and host your login element as a dedicated page. <br /> You can implement this authentication type, if you wish to provide your end-users a dedicated page for them to sign up, sign in, or perform a password reset operation. Note: Catalyst will provide you with all backend support required to style and customize your login element to match your branding preferences. * Embedded Login: This enables you to load your application's login element as an iFrame. <br /> You can implement this authentication type, if you want your end-users to complete their authentication process in the same page, without redirecting them to a separate page. For example, in the sample image above, the end-user can continue their login process, while viewing your application's website content or marketing collaterals. Note:You can find out how to customize and style this authentication type from this help page. You can implement Social Logins for both the authentication types. Additionally, you can also have your login element in a manner that allows users to access your application exclusively through Social Logins. ### Benefits * You can choose to host your application's login element on a dedicated page or load it as an iFrame. * You can implement both the native authentication types, along with a third-party authentication, for each of your application. * You can provide your users with the option to sign up to your application by using popular Social Logins. * You do not have to invest time or additional resources to set up a secure infrastructure, because with Native Catalyst Authentication, Catalyst secures all the end points of your application for you. With third-party authentication, you will need to handle the security of your application end-points. * You can set up both of these authentication methods from the console with a few steps, without requiring any additional backend support. <br /> ### Embedded Authentication Type -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.944Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/embedded-authentication/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Embedded Authentication Type Embedded authentication type is a native Catalyst authentication that lets you load your login element as an iFrame in your application. This is the ideal authentication type to use if you require your end-users to sign up to your application without leaving the landing page. For example, the end-users can sign up or log in while they are viewing your application's website content or marketing collaterals. You can configure the iFrame to be loaded as a conventional login form. <br /> You can also configure the iFrame to let your end-users log in using only social logins. <br /> You can access **Catalyst Web SDK scripts** for the *Conventional Login Form* and the *Social Logins Only Form* from the console when you set up Embedded Authentication, or from this help page. You can simply copy and add the required script to your application's web client. You will not need to perform any additional coding. Catalyst handles all the necessary backend operations to secure your application and render your login element as an iFrame in your application. <br /> While the embedded authentication type does allow you to customize and style it as per your preference, you will not have the ease that you can expect while styling Hosted Authentication Type. However, if you use Embedded Authentication along with Hosted Authentication type, then you can directly import styling elements you used for Hosted to be applied to your Embedded iFrame. You can also provide custom CSS for your **Confirm Password** and **Password Reset** pages. Additionally, Catalyst will also provide you with a CSS sheet that you can download from the console. Along with this CSS sheet, you can refer the Styling Embedded Authentication type help section, to style your iFrame and the login element, in a manner that does not induce any UI errors. This will be discussed further in the setup section. -------------------------------------------------------------------------------- title: "Benefits" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.944Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/embedded-authentication/benefits/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Benefits * Embedded authentication is a type of Native Catalyst Authentication. This ensures that all end points of your application including end users' access to your application are secured by Catalyst. * Catalyst offers you the necessary scripts that you can plug in to your application to configure this authentication method. This will let you load your login element as an iFrame in your application, considerably reducing your coding efforts. * You can style the login element per your preferences, and in a manner that reflects your company's branding, ensuring brand consistency. You can easily import this CSS into your login script. * If you are using Embedded Authentication along with Hosted Authentication, then you can directly import the styling elements you used to style your Hosted Login elements to your Embedded Authentication type. You can also easily apply custom styling by importing your CSS file. * Catalyst provides you with a CSS style-sheet for the default iFrame design, that you can simply download and customize as per your requirements. * You can implement the embedded authentication type in two ways—*Conventional Login Form* and *Social Login Form*. Each method allows you to provide the required sign in logic in your app, while ensuring a smooth end-user experience and complete security. -------------------------------------------------------------------------------- title: "Scripts for Embedded Authentication" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.944Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/embedded-authentication/scripts-for-embedded/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Scripts for Embedded Authentication Catalyst offers you the following scripts that you can incorporate in your web client application to implement Embedded authentication. For **Conventional Login Form** Type <br /> &lt;script src="https://static.zohocdn.com/catalyst/sdk/js/4.6.2/catalystWebSDK.js"&gt; &lt;/script&gt; &lt;script src="/__catalyst/sdk/init.js"&gt; &lt;/script&gt; &lt;script&gt; const config = {}; /* config is optional { css_url : "/css/embeddediframe.css", // Provide your custom CSS file path here. If no path is provided default css will be rendered service_url : "/app/index.html", // This value is optional. You can provide your redirect URL here. is_customize_forgot_password : true, // Default value is false. Keep this value as true, if you wish to customize Forgot Password page forgot_password_id : "forgotPasswordDivElementId", // The Element id in which forgot password page should be loaded,If no value is provided, it will be rendered in the "loginDivElementId" by default forgot_password_css_url : "/css/forgotPwd.css" // Provide your custom CSS file path for the Forgot Password page.If no path is provided,then the default CSS will be rendered. } */ catalyst.auth.signIn("loginDivElementId", config); &lt;/script&gt; <br /> For **Social Login-only Form** Type <br /> &lt;script src="https://static.zohocdn.com/catalyst/sdk/js/4.6.2/catalystWebSDK.js"&gt; &lt;/script&gt; &lt;script src="/__catalyst/sdk/init.js"&gt; &lt;/script&gt; &lt;script&gt; const config = { signin_providers_only : true, // Set value as true to customize the sign in provider only form css_url : "/css/embeddediframe.css", // Provide your custom CSS file path here. If no path is provided default css will be rendered service_url : "/app/index.html" // Provide your redirect URL here. This value is optional. } catalyst.auth.signIn(elementId, config); &lt;/script&gt; Note: These scripts are also available in the console. You can directly copy and enable them while you are setting up embedded authentication and in the Authentication Type section of the console. -------------------------------------------------------------------------------- title: "Setup Embedded Authentication" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.944Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/embedded-authentication/setup-embedded-auth/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Setup Embedded Authentication To enable and configure Embedded Authentication type: 1. Navigate to **Authentication** in *Cloud Scale* section of the Catalyst console, and click the **Set Up** option present in the *Native Catalyst Authentication* section. <br /> 2. Select **Embedded Authentication** as the type of native authentication method, and click **Next**. <br /> 3. Enable CSS Customization - If you wish to provide a custom CSS for your **Confirm Password** and **Reset Password** elements: <br /> - Provide the file path of where you have stored the required CSS files in your project directory. <br /> - If you are using Embedded Authentication along with Hosted Login, you can inherit styling elements from Hosted Login: <br /> Note: No previews will be made available by Catalyst, for you to view the rendering of your login element, or the Reset Password and Confirm Password pages. 4. Choose how you wish your login element to be: * To load the login element as a conventional login form: Click the **Login Form** option in the *Configuration* step. Copy the script and paste it in the HTML file of your web client that contains the index of your application. <br /> Note: You can click View Sample Image to view and compare how each of the login forms would appear to the end-user. These are only sample images, not the actual rendering of how the form will appear with your custom styling. * To load the login element with only the Social Logins or IdP sign in options: Click the **Social Login-Only Form** option in the *Configuration* step. Copy the script and paste it in the HTML file of your web client that contains the index of your application. <br /> Note: The Social Login-Only Form can only be implemented if you have coded your web client application using the latest Catalyst Web SDK. This method is only supported in v4 and not in the earlier versions. You can access earlier versions of embedded authentication, by clicking and choosing from the **Version** drop-down. However, ensure that you implement the latest version as this would include upgraded security definitions and enhancements. <br /> 5. Enable **Public Signup** if you wish new users to sign up to your application. You can find out more about this from the Public Signup help page. <br /> Note: You must enable Public Signup if you want to allow your users to access your application through Social Logins. 6. You can select the Social Logins and enable them to allow your users to use them and sign up for your applications. You can learn about configuring each social login in detail from the Social Logins help section. <br /> Note: Ensure that you have Client ID and Client Secret provided by the social login before you configure it here. You can find out about obtaining the Client ID and Client Secret values for each of the social login using this step-by-step guide. 7. Click **Next** to save your configurations, and proceed to the Addional Settings section. You can choose to include an additional authentication step by enabling the Custom User Validation option. This option allows you to validate your end-users using a custom logic that you code in a Basic I/O function. You can find out how to set this up in the Whitelisting help document. You can use the Authorized Domains section to authorize external domains to have CORS and iFrame access to your application. You can find out how to set up authorized domains in the Authorized Domain help section. <br /> 8. Click **Finish** to enable the Embedded Authentication type. <br /> You will now be able to view the authentication that you have set up in the Authentication Type section of *Authentication*. In this section, you can edit your Social Logins configurations by clicking the required Social Login tile and providing your new OAuth credentials. <br /> You can also edit your CSS Customization configurations: 1. Click the **Edit** button. <br /> 2. You can provide new custom CSS files, choose to inherit the styling you applied when you set up Hosted Authentication type, or even disable the customization. <br /> 3. Click **Update**. <br /> Your preferences will be rendered. <br /> You can also access the login scripts for embedded authentication at anytime from this section. -------------------------------------------------------------------------------- title: "Styling Embedded Authentication" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.945Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/embedded-authentication/styling-embedded-auth/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Styling Embedded Authentication Type Catalyst enables you to style both variants of the embedded authentication type: * The conventional login form iFrame * The Social Login-only form iFrame You can also style the **Reset Password** and the **Confirm Password** pages by providing custom CSS files or by importing the styling elements you used to set up *Hosted Authentication* type. ### To change the style of the conventional iFrame: <br /> 1. Download the CSS file, and begin styling your iFrame login element after the last line of code as instructed in the file. Download here. 2. Refer to this document, to know the descriptions of each CSS component. ### To change the style of the Social Login-only form: <br /> 1. Download the CSS file, and begin styling your iFrame login element after the last line of code as instructed in the file. Download here. 2. Refer to this document, to view the descriptions of each CSS component. ### To change the style of the Confirm Password iFrame: <br /> 1. Download the CSS file, and begin styling your iFrame login element after the last line of code as instructed in the file. Download here. 2. Refer to this document, to view the descriptions of each CSS component. ### To change the style of the Password Reset iFrame: <br /> 1. Click the download button to download the CSS file, and begin styling your document after the last line of code as instructed in the document. Download here. 2. Refer to this document, to view the descriptions of each CSS component. -------------------------------------------------------------------------------- title: " Reference for Embedded Authentication's Style-sheet" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.946Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/embedded-authentication/reference-stylesheet-embedded/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Reference Style-sheet for Embedded Authentication This page lists and provides descriptions for all the CSS classes and IDs that you would require to style your login element with, in the Embedded Authentication type. Catalyst provides individual CSS files for the Conventional Login form, Social-Login Only form, and Password Reset form, with individual CSS IDs and classes for them. These CSS IDs and classes are pre-defined by Catalyst for your ease. You can simply incorporate them into your style-sheet as per your need, and customize the design and branding of the login elements. You must import the CSS file you configure into your login form scripts of this authentication. Before you begin styling your iFrame, download the required CSS file. CSS style-sheet for: * Conventional Login form - Download * Social Login-only form - Download * Confirm Password form - Download * Password Reset form - Download Note: After you download the style-sheet, begin styling your login element after the last line of code. We strongly recommend that you do not alter the code that is already present. Modifying it any way might not render the iFrame correctly. Refer to this sheet for more detailed information on how each of the form mentioned above would appear to the end-users. ### Section where the end-user inputs their email address <br /> <br /> #### Section 1 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#headtitle</td> <td>The ID that handles the styling elements present in the title of the iFrame</td> </tr> </tbody> </table> #### Section 2 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#login_id</td> <td>The ID that handles the styling of the input field</td> </tr> <tr> <td>.fielderror</td> <td>The class that handles the size of the error text</td> </tr> <tr> <td>.errorlabel</td> <td>The class that handles the color scheme of the error message</td> </tr> <tr> <td>.errorborder</td> <td>The class that handles the border color that appears in the event of an error, around the input field</td> </tr> </tbody> </table> #### Section 3 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#nextbtn</td> <td>The ID that handles the styling of the "NEXT" button</td> </tr> </tbody> </table> #### Section 4 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#forgotpassword</td> <td>The ID that handles the styling of the "Forgot Password" literal</td> </tr> </tbody> </table> #### Section 5 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.fed_div</td> <td>The class that handles the size, height, cursor and overflow of the social login option as a whole</td> </tr> <tr> <td>.zoho_fed_box</td> <td>The class that handles the color scheme of the Zoho social login</td> </tr> <tr> <td>.fed_icon</td> <td>The class that handles the size of the logos of all social logins</td> </tr> <tr> <td>..zoho_icon</td> <td>The class that handles the logo icon of the Zoho social login</td> </tr> </tbody> </table> ### Section where the end-user inputs their password <br /> <br /> #### Section 1 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.username</td> <td>The class that handles the email address field</td> </tr> </tbody> </table> #### Section 2 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.Notyou</td> <td>The class that handles the font size of the "Change literal</td> </tr> <tr> <td>.bluetext</td> <td>The class that handles the color and other properties of the "Change" literal</td> </tr> </tbody> </table> #### Section 3 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#password</td> <td>The ID that handles the various properties of the input field</td> </tr> <tr> <td>.fielderror</td> <td>The class that handles the size of the error text</td> </tr> <tr> <td>.errorborder</td> <td>The class that handles the border color that appears in the event of an error around the input field</td> </tr> <tr> <td>.errorlabel</td> <td>The class that handles the color scheme of the error text</td> </tr> <tr> <td>.show_hide_password</td> <td>The class that handles the properties of the visibility-icon</td> </tr> <tr> <td>.icon_hide</td> <td>The class that handles the properties of the hidden-icon</td> </tr> <tr> <td>.icon_show</td> <td>The class that handles the properties of the visibility-icon when clicked</td> </tr> </tbody> </table> #### Section 4 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.blue_text_action</td> <td>The class that handles the color scheme, font size and other properties of both the literals</td> </tr> </tbody> </table> #### Section 5 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.blue</td> <td>The class that handles the color scheme of the Sign In button and box</td> </tr> <tr> <td>.btn</td> <td>The class that handles the size of the button</td> </tr> </tbody> </table> ### Section where the end-user confirms their password <br /> #### Section 1 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.confirmtitle</td> <td>The class that handles the styling elements present in the title.</td> </tr> <tr> <td>.confirmdesc</td> <td>This is the notification/description element which is notify to create a strong and unique password at the bottom of the title element.</td> </tr> <tr> <td>.confirm_head</td> <td>The class that handles the styling of the Background of the confirmation form.</td> </tr> </tbody> </table> #### Section 2 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.username</td> <td>The class that handles the email address field.</td> </tr> <tr> <td>.icon-profile</td> <td>The class that handles the profile in that email address field.</td> </tr> </tbody> </table> #### Section 3 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#password</td> <td>The ID that handles the styling elements present in the password input field.</td> </tr> <tr> <td>.icon-hide</td> <td>The class that handles the properties of the hidden-icon</td> </tr> <tr> <td>.show_hide_password</td> <td>The class that handles the properties of the visibility of the icon</td> </tr> <tr> <td>.fielderror</td> <td>The class that handles the size of the error text.</td> </tr> <tr> <td>.passwordpolicy</td> <td>The class that handles the popup which contains the password policy.</td> </tr> </tbody> </table> #### Section 4 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#cpassword</td> <td>The ID that handles the input field for confirm password.</td> </tr> </tbody> </table> #### Section 5 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#nextbtn</td> <td>The ID that handles the confirm button.</td> </tr> </table> ### Section where the end-user inputs the CAPTCHA <br /> <br /> #### Section 1 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#headtitle</td> <td>The ID that handles the styling elements present in the title of the iFrame</td> </tr> </tbody> </table> #### Section 2 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.user_info</td> <td>The class that handles styling elements of the box's border</td> </tr> <tr> <td>.menutext</td> <td>The class that handles the styling of the user's email ID</td> </tr> </tbody> </table> #### Section 3 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.changeuser</td> <td>The class that handles the styling elements present in the "Change" literal</td> </tr> </tbody> </table> #### Section 4 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>#captcha_container</td> <td>The ID that handles the styling of the box surrounding the Captcha control box</td> </tr> <tr> <td>.reload_captcha ::before</td> <td>The class that handles the styling of the reload button, before it is clicked</td> </tr> <tr> <td>.text_box</td> <td>The class that handles the properties of the input field</td> </tr> </tbody> </table> #### Section 5 <br /> <table class="content-table"> <thead> <tr> <th class="w50p">CSS IDs & Classes</th> <th class="w50p">Description</th> </tr> </thead> <tbody> <tr> <td>.blue</td> <td>The class that handles the color scheme of the button and box</td> </tr> <tr> <td>.btn</td> <td>The class that handles the size of the button</td> </tr> </tbody> </table> ### Hosted Authentication Type -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.946Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/hosted-authentication-type/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Hosted Authentication Type This is a Native Catalyst Authentication type that enables you to host your login element on dedicated pages. You can configure and design the authentication from the console, and Catalyst will render it for your application and handle all the backend requirements. <br /> Hosted authentication enables you to create and style your entire login element as per your preferences. The customization includes adding your company's logo in the login elements, and the background and predominant colors of the windows and buttons. You can additionally implement Social Login options with popular Identity providers (IdP), such as Zoho, Google, Facebook, LinkedIn, and Microsoft 365, by inputting the Client ID and Client Secret generated from the IdPs console. The hosted login element is made up of three pages, and Catalyst hosts each of these on a separate page with individual URLs: - The Sign Up Page: This page enables the end user to sign up for your application by entering their first name, last name, and email address. They can also click the Sign in option, if they have already signed up to your application. <br /> Note: You need to enable Public Signup to view the Sign Up page - The Sign In Page: This page enables your existing end user to log in to your application with their email address and password. <br /> - The Password Reset page: This page enables your user to enter their email, mobile number or username to reset their password. <br /> Note: The secure URLs containing the endpoints for the Sign Up, Sign In, and Password Reset pages of your Hosted Login are automatically generated by Catalyst, and can be incorporated into your application client. <br /> -------------------------------------------------------------------------------- title: "Benefits" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.947Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/hosted-authentication-type/benefits/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Benefits * You can create your login elements on dedicated pages in your app, and design them to resonate with your brand, without any coding. * You can easily enable this authentication type and configure it directly from the console. Catalyst infrastructure ensures that even if you have configured another authentication type, you can additionally include Hosted Login in your app. * You can easily add social logins to your login element while setting this authentication method up. Catalyst provides you step-by-step guides for configuring these social logins and obtaining the required OAuth credentials to add in the console. <br /> -------------------------------------------------------------------------------- title: "Configure Hosted Authentication" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.947Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/hosted-authentication-type/configure-hosted-authentication/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Configure Hosted Authentication Type To enable and configure Hosted authentication type: 1. Navigate to Authentication in the Cloud Scale section of the Catalyst console. Click the Set Up option present in the Native Catalyst Authentication section. <br /> 2. Select Hosted Authentication as the type of native authentication method, and click Next. <br /> 3. You can configure your login element now to reflect your company's brand. Enter the Company Name, and upload the Company Logo by clicking the upload-icon and choosing a file from your local system. <br /> Note: The file size of the Company Logo must be 5MB or less and the file name must be 150 characters or less. 4. You can incorporate your company's colors in your login elements by choosing the primary color and background color from the color palette, or by entering their HEX values. <br /> 5. Enable Public Signup if you wish to allow new users to sign up to your application. You can find out more on this from the Public Signup help page. <br /> Note: You must enable Public Signup if you want to view the Sign Up page and allow your users to access your application through Social Logins. 6. You can also select the Social Logins and enable them to allow your users to use them and sign up for your applications. You can learn about configuring each social login in detail from the Social Logins help section. <br /> Note: Ensure that you have Client ID and Client Secret values for each of the social login using this step-by-step guide. 7. In the Addional Settings section you can choose to include an additional authentication step by enabling the Custom User Validation option. This option allows you to validate your end-users using a custom logic that you code in a Basic I/O function. You can find out how to set this up in the Whitelisting help document. You can use the Authorized Domains section to authorize external domains to have CORS and iFrame access to your application. You can find out how to set up authorized domains in the Authorized Domain help section. <br /> 9. Click Finish, to enable the Hosted authentication type. <br /> You will now be able to view the authentication that you have set up in the Authentication Type section of Authentication. You can view a more detailed preview of how the login element will appear to your end-user by clicking Access URL. <br /> This will open a tab in your browser and load the Login Page URL in a separate tab in your browser, giving you an exact view of the entire login element that your end-user would access. <br /> You can similarly view the **Sign Up** and the **Password Reset** pages by clicking the drop-down icon and choosing the respective page, then clicking **Access URL**. <br /> Note: You must enable Public Signup, to view the Sign Up page. You can always edit the configured authentication and enable it any time. <br /> -------------------------------------------------------------------------------- title: "Edit Hosted Authentication Type" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.947Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/native-catalyst-authentication/hosted-authentication-type/edit-hosted-authentication/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Edit Hosted Authentication Type You will be able to preview and edit the company branding elements and enable or disable social logins per your preference. Note: <br />If you wish to: * Change any configuration you made in the *Additional Settings* section during the authentication set up, click the *Whitelisting* section, and visit the Whitelisting help document for more information. * Edit Social Logins, visit this help section. * Set up a different authentication type, visit the Authentication Type help document to know how to add and manage multiple authentication types. * Disable/enable Public Signup, and the actions that will follow, refer to the Public Signup help page. To edit the Hosted Authentication type: 1. Click the **Edit Page** option present in the review section, and edit the branding and functional elements of the Sign Up, Sign In, and Reset Password pages. <br /> 2. You can edit the *Company Name*, *Company Logo*, the branding colors, and edit, enable or disable social logins and configure them. You will be able to view live preview of the edits. <br /> Note: You can click Maximize to preview the changes in full screen, and click Minimize to go back to the configuration section. 3. Click **Confirm**, to save the changes. <br /> You can view the updated login element back in the Authentication Types section. <br /> <br /> ## Social Logins -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.948Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/social-logins/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Social Logins Catalyst enables you to allow your end users to log on to your application using popular Identity Providers (IdP) or *Social Logins*. You can configure and add social logins to your login element directly from the console. Note: To enable Social Logins, you must first enable Public Signup Catalyst offers support for you to implement the following social logins: * Zoho * Google * Facebook * LinkedIn * Microsoft 365 These social logins can be configured with Catalyst by utilizing the industry standard OAuth protocol, i.e., by configuring the Client ID and Client Secret for your Catalyst application provided by the IdP service. Note: Catalyst offers you support to implement these social logins directly from the console in both its Native Catalyst Authentication types. However, should you wish to implement them while using Third Party Authentication, you will have to code the logic. ### Benefits * Enabling your end-users to log in to your application using Social Logins aids them in accessing your application easily and quickly without compromising security. It provides them with a more streamlined login experience by eliminating password fatigue and making it more mobile-friendly. * Catalyst provides support to manage the backend requirements of implementing social logins in your login element. You can easily enable them once you set up the Client ID and Client Secret from your preferred Identity Providers (IdP). * You can configure a login element with Embedded Authentication that authenticates users using only Social Logins. This lets you authenticate users securely with minimal efforts. * You can enable and disable them per your preference directly from the console, with no additional coding. * By implementing Social Logins on your application you also reduce the chance for fake accounts. ### Configure Authorized URIs To enable Social Logins for your application, you require an authorized URI to generate the required client tokens. The steps to configure the Authorized URI are the same for all of the Social Logins, for the purposes of this help document, we are going to illustrate the steps using the Google Social Login: 1. Click the required social login, from the console: <br /> 2. Copy the Authorized URI, and replace the placeholders as instructed in the console <br /> Key Terminology * appdomain: appdomainis a placeholder in the Authorized URI generated by Catalyst. It is a place holder for the domain of your application. Your application's domain will be generated and listed in the Web Client Hosting component after you deploy your application to the console. You can also add a custom domain that you have mapped to your application. * ZAID: ZAID is a unique portal ID generated by Catalyst to map your project to the right environment. For example, The URI when its first copied, will be in the following format: **https://{{appdomain}}/accounts/pfs/{{dev or prod zaid}}/clientidpcallback** To make this a valid URI, copy your app domain and replace it with the **{{appdomain}}** placeholder and copy the development ZAID value and replace it with the **{{dev or prod zaid}}** placeholder. Your completed URI will resemble the following URI: **https<span></span>://authorizationportal-779513891.development.catalystserverless.com/accounts/pfs/1011958529/clientidpcallback** Note: * While configuring the Authorized URI to a valid URI, you can also use a custom domain of your choice. * When you migrate your application to production, you need to reconfigure the social logins using the the production appdomain and production ZAID, for the social logins to function in the production environment. -------------------------------------------------------------------------------- title: "Configure Social Logins" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.948Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/social-logins/configuring-social-logins/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Configure Social Logins Before you enable Social Logins while setting up an authentication method, you must complete certain steps to ensure you have the required Client ID and Client Secret for each service that you require. This involves configuring an app in the respective social login's developer console, and fetching the OAuth credentials. You will also need to have your own account with each of the Social Login providers to access their developer consoles. Note: Public Signup must be enabled to use Social Logins. ### Enable Zoho Social Login To enable Zoho sign in option in your application, you need to acquire the OAuth credentials for your application from the Zoho API Console in the following manner: 1. Navigate to the **Zoho API Console** from here, and click **ADD CLIENT**. <br /> 2. Select **Server-based Applications**, and click **CREATE NOW**. <br /> 3. Provide the name of your application as the client name. <br /> 4. Provide the **Homepage URL**, and the required **Authorized Redirect URIs**. * You can get the Authorized Redirect URIs, by following the steps detailed in this help document. * Ensure you enter the redirect URIs of your application in the following format: - https<span>://accounts.zohoportal.com/accounts/extoauth/ZAID/clientcallback - https<span>://{{appdomain}}/accounts/pfs/ZAID/clientidpcallback <br /> Note: To ensure that the Social Logins are enabled when you migrate your app to production, you need to reconfigure them using the Production ZAID, and the appropriate app domain. 5. Click **CREATE**. The required Client ID and Client Secret values will be displayed. <br /> 6. You can copy the required Client ID and Client Secret credentials from the API console and paste it in the respective fields in the Catalyst console, and click **Enable**. <br /> Your end users can now sign up to your application using their Zoho credentials. ### Enable Google Social Login To enable Google sign in option in your application, you must obtain the required OAuth credentials for your application from Google in the following manner: 1. Login to the Google API Console and click **Create Project**. 2. Click **New Project**. <br /> Note: If you had already created a project in the Google developer console for your application, select your existing project. Skip the next step for an existing project. 3. Enter the required information and click **Create**. <br /> 4. After the project has been created, navigate to the **Credentials** page. You will be asked to configure the *OAuth consent screen* with your application details, if it is a new project. Click **Configure Consent Screen**. <br /> Note: If this is not a new project, you can modify some information about your application. Navigate to the OAuth consent screen page. Click EDIT APP, then follow the steps below. 5. Choose a user type for your app and click **Create**. <br /> 6. Provide the required information. <br /> 7. In the **App domain** section, under the *Application home page* section provide your application's home page. Enter the other information as required and click **Save And Continue**. <br /> 8. In the *Scopes* section, click **Edit**, if you wish to add or manage scopes other than the default section. <br /> 9. Select the scopes you require from the options listed. You can also manually provide the applicable scopes in the *Manually add scopes section*, and click **UPDATE**. Click **SAVE AND CONTINUE** once you have configured the scopes. <br /> 10. In the **Summary** section, confirm your configurations and click the **Edit** button should you need to edit any of the configuration. <br /> 11. Navigate back to the *Credentials* page and click **Create Credentials**. Select **OAuth client ID** from the drop-down list. <br /> 12. Select **Web application** as the type of your application your app is going to be from the drop-down selection of **Application type**. <br /> Note: Even if you host your application as an Android app, iOS, or a Flutter app, the Client ID and Client Secret to enable the social login will be the same, and can be obtained by choosing the application type as Web application. * Enter the name of your application. <br /> * Click **ADD URI** under *Authorised JavaScript origins* and Click **ADD URI** under *Authorised redirect URIs* and enter the redirect URIs of your application in the following format: * https<span>://accounts.zohoportal.com/accounts/extoauth/ZAID/clientcallback * https<span>://{{appdomain}}/accounts/pfs/ZAID/clientidpcallback<br /> This URI can be copied from the Google Social Login pop-up, and steps to enable this URI is shown in this help document:<br /><br /> Note: The ZAID value can be obtained from the Google Social Login pop-up. However, to ensure that the Social Logins are enabled when you migrate your app to production, you need to reconfigure them using the Production ZAID, and the appropriate app domain. <br /> Click **Create**, once you have added the required information. * You will now be directed to pop up displaying the Client ID and Client Secret. You can copy the values and download the JSON file containing the same. <br /> 13. Now, click the **Google** social login present in the Catalyst console and enter the Client ID and Client Secret you copied from the Google console, and click **Enable**. <br /> Your end users can now sign up to your application using their **Google** credentials. ### Enable Facebook Social Login To enable Facebook sign in option in your application you need to obtain the required **OAuth credentials** for your application from Facebook in the following manner: 1. Open the Facebook developer page: Meta Developer Console 2. Log in to Facebook, and click the **My Apps** option. <br /> 3. Click on **Create App** <br /> 4. Based on your requirement, you can choose to connect your business portfolio to the meta console. Since, this is not required to configure the social login, we click the relevant option and click **Next**. <br /> 5. Select the "**Authenticate and request data from users with Facebook Login**" and click **Next**. <br /> 6. Enter the required details and click **Next**. <br /> 7. Review your configurations and click **Create App**. <br /> 8. You will now be directed to the *Dashboard* of the Facebook developer console. Select the "**Customize adding a Facebook Login button**" option. <br /> You will be directed to the *Customization* section of the *Facebook Login*. <br /> 9. Click the **Settings** tab in the left-panel. <br /> 10. Scroll down to the *Client OAuth Settings* section. <br /> 11. In the **Valid OAuth Redirect URIs** input field section, provide the OAuth Redirect URIs in the following format: * **https<span></span>://accounts.zohoportal.com/accounts/extoauth/ZAID/clientcallback** * **https<span></span>://{{appdomain}}/accounts/pfs/ZAID/clientidpcallback** <br/> This URI can be copied from the Facebook Social Login pop-up, and steps to enable this URI is shown in this help document: <br/> Note: The ZAID value can be obtained from the Facebook Social Login pop-up. However, to ensure that the Social Logins are enabled when you migrate your app to production, you need to reconfigure them using the Production ZAID, and the appropriate app domain. <br/> Click **Save Changes**. 12. You will be directed back to the *Dashboard*. Now select the "**Basic**" option present in the *App Settings* section of the console, and copy and save the Client ID and Client Secret details generated by Facebook. Click **Save Changes** once you have completed reviewing the details. <br/> 18. You can now enable the **Facebook Social Login** in the console. Click the **Facebook** option and paste the **App ID** value in the Client ID field and the **App Secret** value in the Client Secret field, and click **Enable**. <br/> Your end users will now be able to sign up to your application using their Facebook credentials. ### Enable LinkedIn Social Login To enable LinkedIn sign in option in your application you need to obtain the required **OAuth credentials** for your application from LinkedIn in the following manner: Note: * Before you implement the following steps, ensure you have created a LinkedIn page to represent your company or organization. This page is mandatory to configure LinkedIn social login. * LinkedIn uses OpenID Connect protocols and not OAuth protocols. For more information on this update, visit LinkedIn's documentation page 1. Login to the LinkedIn developer page: http://developer.linkedin.com 2. Click the **Create App** button in the center of the page. <br /> Note: You can also navigate to the My Apps section present in the taskbar and click Create App. 3. Enter the required information, such as the app name, privacy policy URL, and the app's logo. <br /> Note: If you have not created a LinkedIn page for your application, you can do so now by clicking the +Create a new LinkedIn Page button. 4. Agree to the terms and conditions and click **Create app**. <br /> 5. Now verify your application by clicking the **Verify** button that appears next to your application's LinkedIn page. <br /> * Click **Generate URL** to generate verification URL. <br /> * Complete the verification process, and click **I'm done**. <br /> 6. In the *Settings* section, add your application URL to the *Domain* input field of the **Widgets** section if necessary. <br /> 7. Navigate to the *Products* tab, select "**Sign in with LinkedIn Using OpenID Connect**", and click **Request Access**. <br /> Read and accept the terms and conditions, click the **Request Access** button to allow sign ups with LinkedIn using OpenID connect. <br /> 8. Click the **Auth tab**, and copy the Client ID and Client Secret present in the Authentication keys section. In the **OAuth 2.0** scopes section you will be able to view three scopes that have been added: * openid * profile * email <br /> 9. Now click the *Auth tab*, and copy the Client ID and Client Secret present in the *Authentication keys* section. In the *Auth 2.0 settings* section add **Authorized Redirection URLs** of your application in the following format: * https<span>://accounts.zohoportal.com/accounts/extoauth/ZAID/clientcallback * https<span>://{{appdomain}}/accounts/pfs/ZAID/clientidpcallback<br /> This URI can be copied from the LinkedIn Social Login pop-up, and steps to enable this URI is shown in this help document:<br /><br /> Note: The ZAID value can be obtained from the LinkedIn Social Login pop-up. However, to ensure that the Social Logins are enabled when you migrate your app to production, you need to reconfigure them using the Production ZAID, and the appropriate app domain. <br /> 10. Click the **LinkedIn Social Login** option present in the console, and add the Client ID and Client Secret obtained. Then, click **Enable**. <br /> Your end users can now sign up to your application using their LinkedIn credentials. ### Enable Microsoft 365 Social Login To enable **Microsoft 365** sign in option in your application you will need to obtain the requisite **OAuth credentials** for your application with Microsoft Azure in the following manner: 1. Open Microsoft Azure and login to the console. <br /> 2. Navigate to the menu section of the console and click **App Registrations**. <br /> 3. Click **New Registration**. <br /> 4. Enter the application name, choose the required permission. In the **Redirect URI** section, choose **Web** and enter the URI in the following format:<br />https<span>://{{appdomain}}/accounts/pfs/ZAID/clientidpcallback<br /> This URI can be copied from the Microsoft 365 Social Login pop-up, and steps to enable this URI is shown in this help document:<br /><br /> Note: The ZAID value can be obtained from the Microsoft 365 Social Login pop-up. However, to ensure that the Social Logins are enabled when you migrate your app to production, you need to reconfigure them using the Production ZAID, and the appropriate app domain. <br /> Note: You will have to add the second URI in a later step. 5. You will now be directed to the *Overview* section. Here you can copy the Application ID (Client ID). <br /> 6. Click the **Redirect URIs** section. <br /> * In the *Redirect URI* section, click **Add URI** and add the second URI in the following format:https<span></span>://accounts.zohoportal.com/accounts/extoauth/ZAID/clientcallback<br /> <br /> Note: The ZAID value can be obtained from the Microsoft 365 Social Login pop-up. However, to ensure that the Social Logins are enabled when you migrate your app to production, you need to reconfigure them using the Production ZAID, and the appropriate app domain. 7. Now, navigate to the **Certificates & secrets** section from the menu-bar, and click the *Client secrets* section. <br /> 8. Click **New Client Secret**, to generate Client Secret. <br /> 9. Enter the required details and click **Add**. <br /> 10. Copy the key present under the (Value) section. <br /> 11. Click the **Microsoft 365 Social Login** option present in the console and add the Client ID and Client Secret obtained and click **Enable**. <br /> -------------------------------------------------------------------------------- title: "Modifying the Social Logins" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.953Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/social-logins/modifying-social-logins/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Modifying the Social Logins Once you have configured the Social Logins, you will be able to modify, disable and delete them in the *Authentication Types* section. <br /> ### Updating the Social Login To update the Client ID and Client Secret: 1. Click the icon of the social login you wish to update. <br /> 2. Click the ellipsis icon and choose the **Edit** option. <br /> 3. Make the necessary changes and click **Update**. <br /> ### Disable a Social Login You can temporarily disable a social login from your authentication element. After you disable a social login, the end-users will not be able to sign up/sign in using the disabled social login option. However, the values of the Client ID and Client Secret will still be stored with Catalyst. Note: If you choose to enable a social login again at some point, you can simply re-enable it here without having to re-configure the OAuth credentials, and it will be active once again. To disable a social login, click the icon of the social login you wish to disable: 1. Click the ellipsis icon and select **Disable**. <br /> 2. Click **Yes, Proceed**. <br /> The social login will be disabled. To re-enable a social login, click the icon of the disabled social login and click **Enable**. <br /> ### Delete a Social Login After you delete a social login, the end-users will not be able to sign up/sign in using the deleted social login option. The values of the Client ID and Client Secret will be permanently deleted from the Catalyst console. To delete a social login, click the icon of the social login you wish to delete: 1. Click the ellipsis icon and select **Delete**. <br /> 2. Click **Yes, Proceed**. <br /> The social login will be deleted from your login element. You will have to re-enter the Client ID and Client Secret to enable the social login again. ## Third-party Authentication -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.953Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/third-party-authentication/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Third-party Authentication Catalyst powers developers by enabling them to implement any third-party authentication service like WatchGuard AuthPoint, Cisco Secure Access by Duo, The Okta Identity Cloud, etc., in their Catalyst application. Catalyst will provide the necessary backend support and scripts you require to securely incorporate a third-party authentication service of your choice. Note: Given that you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. Catalyst will not handle any backend infrastructure setup or security implementation for your application users. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Catalyst will provide you with server-side and client-side scripts to generate a required custom token with the authenticated user's details, and to process the token in the front-end of the application respectively, to log the user in. ### Benefits * Authentication provides you with all the required scripts to generate custom tokens to incorporate third-party authentication into your Catalyst application. This saves you considerable efforts in configuring the logic from the third-party service within your application. * You can easily incorporate any third-party authentication service and add end-users to your Catalyst application. This provides you with limitless flexibility, and allows you to pick a service of your choice based on your business requirements. * If you have an existing subscription with a third-party authentication service, you can easily use the same for your Catalyst application. * The scripts to generate the custom server token is available in multiple programming languages—Java, Node.js and Python. This provides compatibility with your existing application code, and allows you to easily incorporate the script in a language of your preference. -------------------------------------------------------------------------------- title: "Workflow" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.953Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/third-party-authentication/workflow/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Workflow of Third-party Authentication in Catalyst Applications The following is a step-by-step drill down of the process of how an end-user authenticated by a third-party authentication service will log in to your Catalyst application: <br /> 1. When the end-user enters their details to log in to your application, they will be forwarded to the third-party authentication service that you have chosen. 2. The user details will be verified and stored in the database of the third-party service after the authentication logic is passed. 3. The user details will then be passed to the Catalyst client application. 4. The details will then be redirected to the authentication function that you code. This authentication function must include the Catalyst server-side script to generate a custom server token for the authenticated user. Note: The code to generate the token is provided to you in the Catalyst console. It is also available in the Java, Node.js and Python SDK docs. 5. This token will then be passed to the Web SDK incorporated in the client code. 6. The user will be logged in to your application using a JSON Web Token (JWT) generated from the client script, which will contain the authenticated user's details. 7. **(a)**. The user will now have access to the components of your application through its endpoints. Catalyst Security Engine ensures that all Catalyst components associated with the application are accessed securely by users. Note: If the end-user is accessing your application for the first time (a signup process), the user details will be added to User Management in the Authentication component. Apart from this, the sign-in workflow will remain the same. 7. **(b)**. The user's details along with the token information will also be stored in the browser cookie through the Web SDK, to ensure their session is maintained. Note: The token will remain valid only for one hour. After that the steps from 1 to 8 will be repeated in the background. #### Workflow of an authenticated user logging into your application while the token is still active After a user is authenticated and the login session is persisting, the user can securely access all the end points of your application until the time the token is active. -------------------------------------------------------------------------------- title: "Implementation" description: "Catalyst Authentication enables you to provide secure authentication and sign-ins for your app users, and manage their user accounts." last_updated: "2026-09-09T11:06:25.954Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/third-party-authentication/implementation/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Set Up Third-party Authentication Type in Catalyst Before you implement a third-party authentication service in Catalyst, you must ensure that you have first completed handling the third-party logic in the external service. To set up a third-party authentication method for your Catalyst application: 1. Navigate to **Authentication** under *Cloud Scale* in the Catalyst console. Click the **Set Up** option in the third-party Authentication section to begin setting up the authentication type. <br /> 2. To proceed further and to allow end-users to sign up to your application, you have to enable **Public Signup**. You can learn more about this from the Public Signup help page. <br /> 3. You must generate a custom server token to incorporate into your authentication function. * Choose **Java**, **Node.js**, or **Python** based on your preference, and copy the Catalyst script provided in it. Implement this into your backend logic which will generate the token when executed. * Click **Next**, to continue with the setup. Note: * The scripts to generate a custom server token is also available in the respective Java, Node.js and Python SDK help sections. You can also access these scripts in the Authentication Types section after you have set up third-party authentication. * Values of role_name, and org_id are optional and not explicitly required to generate the server-side token. You can find out how to obtain the values of org_id and role_name from their respective help pages. 4. You can now copy the script that passes the generated token from the backend to the web client, and logs the user in to your application, if they were successfully validated by the third-party authentication service. <br /> * Copy the Catalyst script present in the console under the *Client-Side Configuration* section. Implement this into your client code, which will process the server token and generate a JWT when executed. * Click **Next** to continue with the setup. 5. Next, in the Additional Settings section, you can choose to include an additional authentication step by enabling the Custom User Validation option. This option allows you to validate your end-users using a custom logic that you code in a Basic I/O function. You can find out how to set this up in the Whitelisting help document. You can use the Authorized Domains section to authorize external domains to have CORS and iFrame access to your application. You can find out how to set up authorized domains in the Authorized Domain help section. <br /> 6. Click **Finish** to enable the third-party authentication type. <br /> In the Authentication Types section, Catalyst will display a confirmation that a third-party authentication service has been enabled and your application's authentication is being handled by it. You will also be able to access the Catalyst scripts to copy and use any time, and log end-users in to your application after being authenticated by the third-party service. ## User Management -------------------------------------------------------------------------------- title: "Introduction" description: "User Management allows you to directly add end-users to your application and assign them custom roles" last_updated: "2026-09-09T11:06:25.954Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # User Management The *User Management* feature of the Authentication component enables you to manage users that have signed up to your application. User Management also enables you to configure and maintain different roles for each user. Note: You will have to enable at least one authentication type to access this section. You can add an end-user to your application in four different ways: 1. The application developer or a collaborator of the Catalyst project can add a new user from Authentication in the Catalyst console after implementing one of the authentication types- Hosted, Embedded, and Third-party. 2. The application developer or collaborator can also add a user using Java, Node.JS, Python, or Web SDKs or the APIs. 3. You can distribute the URL of your application to the user through other mediums and enable them to sign-up to it through the application's sign-up page. 4. You can enable provisions for a user to be added by another existing user of the application with the necessary privileges, such as a user of the role App admin. You can incorporate this feature in your application's logic. Catalyst will send an email invite to the user who was added containing a URL that will open a sign-up form where they can set up their password, in all four cases. After they set up their password, they will either be redirected to the default redirect URL of the application or the URL you specify while inviting the user from the console. Note: You will be able to add a maximum of 25 users in your application in the development environment. After you deploy your application to production, you can include any number of end-users in it. The *User Management* feature includes two sections in the console. 1. Users: You can add end-users to your application in this section directly, and they will receive email invites. You will also be able to enable or disable their access to the application, view or modify their details, and delete them from the application. <br /> 2. Roles: This section enables you to create and configure user roles, based on your business and organizational requirements. You will also be able to view all the user roles available in the project, along with all their details, and edit them, if required. <br /> <br /> ### Roles -------------------------------------------------------------------------------- title: "Introduction" description: "User Management allows you to directly add end-users to your application and assign them custom roles" last_updated: "2026-09-09T11:06:25.955Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/roles/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Roles ### Introduction Roles define a set of permissions and the level of access granted for a user to access your application or modify its data. You can define the scopes and access permissions for certain Catalyst components to each role, and assign a role to every user. This categorization enables the users of your application to only access functionalities that are relevant to them. *Roles* currently apply to the Data Store. You can define the scopes and permissions of each table for each user role in the Data Store. These scopes and permissions also apply to Search and ZCQL by extension, since these components are tied closely to the Data Store. *Roles* is available as a section of the *User Management* feature in *Authentication*. Two system defined roles are present by default: 1. App Administrator: The users assigned to the App Administrator role essentially have an admin access to the application by default. You can override this and define their access levels to the tables in the Data Store. 2. App User: The users assigned to the App User role essentially have an end-user level access to the application by default. You can also override this and define their access levels in the Data Store. Note: * The App User role is considered to be the default role. When you create a custom role and do not specify the scopes of the role it needs to follow, the scopes of the App User role will apply to the custom role. In addition to these roles, you can create your own custom roles and define their permissions. You can also make these custom roles as Default roles. When a user role is set as the **default role**, the users who are added to your application are assigned to that role automatically, and the permissions that have been set for that role are made available to them. <br /> -------------------------------------------------------------------------------- title: "Benefits" description: "User Management allows you to directly add end-users to your application and assign them custom roles" last_updated: "2026-09-09T11:06:25.955Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/roles/benefits/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Benefits * Roles enable you to group your application users based on the access levels and permissions given to them. * Roles help you to prevent unauthorized access to view or modify application data, and boost the resource and data security in your application. * You can configure scopes and grant specific permissions to actions like viewing a table's data, deleting rows from a table, or uploading files in specific folders in the Data Store for custom roles. * They also enable you to control the data flow and the design of your application as per your needs. You can build your application by keeping in mind the multi-level access you can grant to various user groups. -------------------------------------------------------------------------------- title: "Implementation" description: "User Management allows you to directly add end-users to your application and assign them custom roles" last_updated: "2026-09-09T11:06:25.955Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/roles/implementation/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Implementation ### Create a New User Role When you create a new custom role in Catalyst, you must clone an existing role. This action will clone the set of permissions from the parent role to the new role. You can change the scopes and permissions of your custom role in the Permissions section of Data Store. Note: You will not be able to delete roles from Catalyst currently. The provision to delete roles will be rolled out soon. To create a new user role for your Catalyst application: 1. Click the **Roles** tab of the *User Management* section of *Authentication*. Click the **Add Roles** button. <br /> 2. Enter the name and description for the *Role*. <br /> 3. Choose an existing role to clone the scopes and permissions for your custom role from the drop-down selection of **Clone Role**. <br /> 4. You can enable the **Make as Default** toggle option if you want to ensure that when an end-user is added to your application, they will be automatically added to this role by default. Catalyst will automatically apply the permissions defined for this role to the new user. <br /> 5. Click **Add**. <br /> The role will now be displayed in the *Roles* section along with the unique *Role ID* generated by Catalyst, the description of the role, the details of the collaborator that created the role and the date and time the role was created on. ### Edit a Role You can edit the name, description, and choose if you wish to make the role a default role or not using the **Make as Default** toggle. To edit a role: 1. Click the **ellipsis icon** present at the corner of the role you wish to edit and select **Edit**. <br /> 2. Make the required changes and click **Update**. <br /> ### Delete a Role The following points need to be taken note of before you opt to delete a role: * While you can edit a system defined role—App Administrator and App User, you cannot delete them. * You cannot delete a Default role. To delete a role that is marked as Default, you need to make another role as Default before attempting to delete the intended role. * Before deleting a role you need to transfer its users to a new or a different existing role. To delete a role: 1. Click the **ellipsis icon** present at the corner of the role you wish to delete and select **Delete**. <br /> 2. Transfer the users of the role that you are going to delete to a different role. You can do so by choosing the role from the drop-down. <br /> Info: If there are more roles in the development environment than in the production environment, and if you choose to migrate your project back to development from production, then: * The additional roles present in the development environment will be automatically deleted. * The users mapped to these roles will be mapped to the Default role as listed in the production environment. 3. Click **Yes, Delete** to delete the role. <br /> You will get a console notification notifying you that the required role has been deleted and its users have been successfully transferred to the Transfer Role you selected. <br /> <br /> ### Users -------------------------------------------------------------------------------- title: "Introduction" description: "User Management allows you to directly add end-users to your application and assign them custom roles" last_updated: "2026-09-09T11:06:25.955Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Users ### Introduction It's important to remember the following details to implement and utilize the Users section effectively: * ZUID: ZUID is the unique identification of a Zoho user account for individual application. It is automatically created for an end-user when they sign-up for your application. * UserID: UserID is the unique identification of an end-user, limited to Catalyst alone and not applicable to other Zoho services. This is also automatically created for an end-user when they sign up for your application. * Org ID: Org ID is the unique identification of the organization that an end-user belongs to. This identification is generated when the end-user is added through the Add User API or through the Add User button in the console. If the Org ID is not specified while adding the user, Catalyst will automatically generate a unique Org ID for that particular user. Note:The organization of a user cannot be changed later, once it is associated with their account. * An end-user can sign up to any number of Catalyst applications; a unique ZUID and Org ID will be created each time for that user. However, this could also cause inconvenience for the user, as they would have to sign in every time they switch to a different Catalyst application. To prevent this, if you implement a Native Catalyst Authentication type in all of your Catalyst applications, you can easily set up Social Logins that will allow users to sign up to all your applications using credentials of trusted Identity Providers (IdPs). Note: Catalyst's Multi-Org feature enables a Catalyst developer to be a part of multiple organizations, while registered with one Catalyst account. This means that if a user or a collaborator signs up for more than one Catalyst organization, they are assigned different Org IDs under one ZUID for each application. <br /> -------------------------------------------------------------------------------- title: "Benefits" description: "User Management allows you to directly add end-users to your application and assign them custom roles" last_updated: "2026-09-09T11:06:25.956Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/benefits/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Benefits * Authentication provides an integrated space to manage application users and handle all end-user activities. The provision to handle user accounts directly from the Catalyst console, rather than creating additional solutions for it, is highly helpful and time saving. * Even if you have included a provision for users to create an account or reset their password from inside your application, you can still perform these activities quickly from the console for your convenience. * You can easily manage applications created for internal usage by your organization's members, or that are made accessible by request only using Authentication. * You can create custom user roles for your end-users, and provide them with more specific permissions. <br /> -------------------------------------------------------------------------------- title: "Implementation" description: "User Management allows you to directly add end-users to your application and assign them custom roles" last_updated: "2026-09-09T11:06:25.956Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/user-management/users/implementation/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Implementation ### Adding a New User From The Console 1. Navigate to the *User Management* section of **Cloud Scale > Authentication** and click **Add User** in the *Users* section. <br /> Note: To add end-users to your application, you must first enable at least one of the authentication types. 2. Enter the **First Name**, **Last Name**, **Email ID** of the user. Select the **Role** or the user from the *Roles* drop-down list in the pop-up window. <br /> Note: You can find out more about Roles from this help section 3. If you wish to add the user under a particular organization, enter the Org ID. If you do not enter one, Catalyst will generate a unique organization ID for the user. <br /> 4. Select the platform of the application that you are inviting the user to access. <br /> Note: Specifying the platform does not prevent the user from accessing other platforms of the application. However, it defines the primary platform that the user will access from their device and sets default values for opening the application in the appropriate medium. If you select Android or iOS as the platforms, you can type in the redirect URL. <br /> 5. You can use the default homepage that you have specified in your web app's client-package.json file as the redirect URL by checking the Use Default Redirect URL checkbox. To use a different redirect URL, type the URL in the textbox. <br /> Note: Specifying the platform does not prevent the user from accessing other platforms of the application. However, it defines the primary platform that the user will access from their device and sets default values for opening the application in the appropriate medium. 6. Click Create. <br /> The user will now be listed in the *Users* section along with their details. You can search for a particular user by their email address using the search bar. The *Users* section lists all users, including those who have signed up from inside the application. Click **Invite User** to add more users. When a new user is invited, Catalyst will send an automated email to their email address with a URL to set up their password. The content and design of this email template can be configured using the Email Template feature of Authentication. When the user clicks on the link, they will be authenticated and redirected to a page that requests them to set their password. <br /> Once the user completes the process, they are redirected to the redirect URL that you specified while inviting the user. ### Enable or Disable a User You can enable or disable a user of your application as you need. When a user is disabled for an application, they will no longer be able to login to the application until you enable them again. To enable or disable a user, click the toggle switch in the *Status* column of that user. <br /> ### Reset a User's Password You can easily reset a user's password by sending them a Password Reset email from the Catalyst console. The email will contain a password reset link, which the user can click to create a new password for the application. The Password Reset email can be designed per your preference using the Email Template feature of Authentication. If you are implementing Hosted Authentication Type, you also have the option of designing the Password Reset page of your application directly in the console. Note: The password will be reset for all platforms, irrespective of the platform you choose. Specifying the platform sets default values for opening the application in the appropriate medium. To let user reset their password: 1. Click the ellipsis icon at the corner of the particular user, and click **Reset Password**. <br /> 2. Select the platform of the application for which the password is to be reset in the *Redirect Details* <br /> 3. Click **Reset**. <br /> This will automatically send a password reset email to the user's email address for the application platform that you have chosen. When the user clicks on the link, they will be redirected to the Password Reset page of your application where they can create a new password for their account. Note: You can also send a password reset email using Java, Node.JS, Python, Web SDKs, or the API. ### Modify a User's Details You can modify and update a user's name or the role that they were assigned to. However, you will not be able to change a user's registered *email address*, *Org ID*, or *User ID*. To modify user information in your application: 1. Click the **ellipsis icon** of the user whose information you wish to modify and select **Edit**. <br /> 2. Make any necessary changes in the pop-up window and click **Update**. <br /> ### Delete a User You can permanently delete a user from logging in to your application. The user will need to re-register in your application if they want to use it again. To delete a user account from your application: 1. Click the **ellipsis icon** for the user you wish to delete and select **Delete**. <br /> 2. Click **Yes, Proceed** in the confirmation window. <br /> <br /> ## Whitelisting -------------------------------------------------------------------------------- title: "Introduction" description: "Whitelisting enables you to validate through Custom User Validation and permit CORS and iFrame access." last_updated: "2026-09-09T11:06:25.957Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/whitelisting/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Whitelisting ### Introduction Whitelisting is a feature of Cloud Scale Authentication that enables you to validate and manage various aspects of access to your Catalyst application. These include the following: * Validating end-users' signup using custom basic I/O functions through Custom User Validation. * Authorizing domains for CORS and iFrame access to your application. The Whitelisting feature ensures ready-to-implement high security for your application by enabling you to clearly specify and authorize domains that can access your application's endpoints through CORS requests or load your application widget. Likewise, security is ensured by controlling the access to your application to specific users that you require through custom user validation. Note: You can access this section during the authentication setup in the final step, or directly from the Whitelisting section in the console. In the latter case, you should have already configured at least one authentication types. ### Benefits * Catalyst makes your application development process significantly easier, as you need not manually code your application to allow CORS requests or iFrame access for each domain that you require. You don't need to configure custom responses in your functions for specific domains to access your application resources, or code the logic of loading your application as a widget in an external domain. * You can simply add a domain in the Catalyst console and enable or disable CORS and iFrame whenever you need, with the click of a button. Similarly, you can enable or disable Custom User Validation for your application through a single toggle switch, and use custom logic to validate your end-users. ### Authorized Domains -------------------------------------------------------------------------------- title: "Introduction" description: "Custom User Validation allows you to validate user sign ups using custom logic" last_updated: "2026-09-09T11:06:25.957Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/whitelisting/authorized-domains/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # CORS and iFrame Catalyst Cloud Scale provides you the convenience of easily configuring the following two functionalities for your application from the console: <br /> ### CORS Cross-Origin Resource Sharing (CORS) is a mechanism that instructs a browser to allow web applications running on one origin to access resources from a different origin. Unless you specifically enable CORS, browsers prevent client-side scripts from accessing resources from a different origin by default. This is done by implementing a security mechanism called a same-origin policy, to protect the resources. When a web application requires a resource on a different domain to be accessed, it will execute a cross-origin request by including additional HTTP headers in the request, to inform the browser about it. When you enable CORS for an external domain in your Catalyst application, browsers will process HTTP requests from that particular domain and pass it on to Catalyst servers. Catalyst will then allow access to the client and all the function endpoints of your application, and send appropriate responses back. Catalyst ensures secure data transfers through cross-origin requests, by enabling you to specify and manage the domains that can be allowed to access the application endpoints in the console. ### iFrame Catalyst also enables you to easily allow your application to be incorporated as a widget in an external domain, similar to allowing CORS. To load your application as a widget in a target website, you must code a script for it in your application's source files. Once that's done, you can embed your application as a widget on the target website by incorporating the widget script in the target's code. If you choose to embed your application widget in the form of an iFrame, you can utilize Catalyst's convenient functionality. By default, browsers do not allow iFrame elements from one domain to be loaded in a different domain, as they violate standard content security policies, unless specific access is given. However, using Catalyst, you don't need to build the logic involved in granting permissions to allow an external widget. You can easily enable the iFrame of your application widget for a domain in the console. Catalyst servers will then handle the communication with the browsers. The server informs the browser about the configured domains that can allow your application widget to be incorporated in them. -------------------------------------------------------------------------------- title: "Implementation" description: "Custom User Validation allows you to validate user sign ups using custom logic" last_updated: "2026-09-09T11:06:25.957Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/whitelisting/authorized-domains/implementation/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Implementation To access the Whitelisting section you have to configure at least one of the authentication types: Hosted, Embedded, or Third-party. You can access *Authorized Domains* in the whitelisting section any time by navigating to **Cloud Scale > Authentication** in the console, and clicking the **Whitelisting** option. <br /> You can also access Authorized Domains in the *Additional Settings* section during the last step of all the authentication setups. <br /> ### To Enable CORS and iFrame Similar to Custom User Validation, Authorized Domains is also disabled by default. To authorize domains and enable CORS and iFrame access: 1. Click **Add Domain** under the *Authorized Domain* section. <br /> 2. Enter the name of the domain name, and authorize the domain to have CORS and or iFrame access by enabling the respective options, as per your preference. <br /> 3. Click **Configure** to complete set up. The authorized domain along with the enabled status of CORS and iFrame access to your application will be displayed. <br /> You can authorize and add more domains by clicking **Add Domain** and repeating the above mentioned steps. <br /> ### To Modify Domain Name or Update CORS and iFrame Access to Your Application You can modify a domain name or reconfigure its CORS and iFrame access to your application in the following way: 1. Click the **ellipsis icon** next to the domain you wish to change, and click **Edit**. <br /> 2. You can update the domain name, and enable or disable CORS and iFrame access as per your preference in the pop-up window. Click **Update** to confirm the update. <br /> You can now view the updated information of the domain in the **Authorized Domains** section. <br /> ### To Delete an Authorized Domain You can permanently delete a domain that you authorized in the following way: 1. Click the **ellipsis icon** next to the domain you wish to delete, and click **Delete**. <br /> 2. Click **Yes, Proceed** in the confirmation pop-up. <br /> The domain will be deleted. <br /> ### Custom User Validation -------------------------------------------------------------------------------- title: "Introduction" description: "Custom User Validation allows you to validate user sign ups using custom logic" last_updated: "2026-09-09T11:06:25.958Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/whitelisting/custom-user-validation/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Custom User Validation Catalyst offers you the option to validate and authorize end-users to your application using custom functions. This option allows you to configure a Catalyst Basic I/O function to contain the logic of the manner you wish to authorize the user with. During user sign up, the credentials of the user will be validated through this Basic I/O function. Note: To enable Custom User Validation, you must first ensure that Public Signup has been enabled. Refer the code snippets below a sample Custom User Validation function in Java, Node.js, and Python: 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); // The user has failed authentication } else { validationResponse.setStatus(ZCSignupValidationStatus.SUCCESS); // The actions that occur in the event of a successful authentication can be customized ZCSignupResponseUserDetails respUserDetails = ZCSignupResponseUserDetails.getInstance(); respUserDetails.setFirstName("{customFirstName}"); respUserDetails.setLastName("{customLastname}"); respUserDetails.setRoleIdentifier("{customRoleName}"); respUserDetails.setOrgId("{customOrgId}"); 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); } } } const catalyst = require("zcatalyst-sdk-node"); module.exports = (context, basicIO) => { const catalystApp = catalyst.initialize(context); const userManagement = catalystApp.userManagement(); const requestDetails = userManagement.getSignupValidationRequest(basicIO); if (requestDetails !== undefined) { if (requestDetails.user_details.email_id.includes("node")) { basicIO.write( JSON.stringify({ status: "failure", }) ); } else { basicIO.write( JSON.stringify({ status: "success", user_details: { first_name: "CustomFirstName", last_name: "CustomLastName", role_identifier: "CustomRole", org_id: "CustomOrgID", //If you are providing the Org ID, make sure it is copied exactly from the console. }, }) ); } } context.close(); }; import json import zcatalyst_sdk def handler(context, basicio): app = zcatalyst_sdk.initialize() auth_service = app.authentication() request_details = auth_service.get_signup_validation_request(basicio) if request_details: if "spam.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": "Amelia", "last_name": "Jack", "role_identifier": "cx_role", "org_id": orgId, # If you are providing the Org ID, make sure it is copied exactly from the console. }, } ) ) context.close() Note: These snippets are also available in the Catalyst Java SDK, Node.js SDK, and Python SDK repositories. -------------------------------------------------------------------------------- title: "How It Works" description: "Custom User Validation allows you to validate user sign ups using custom logic" last_updated: "2026-09-09T11:06:25.958Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/whitelisting/custom-user-validation/how-it-works/" service: "Cloud Scale" -------------------------------------------------------------------------------- # How Custom User Validation Works The following steps detail how you can use custom logic to authenticate end-user sign ups: Note: Public Signup must be enabled to use Custom User Validation. 1. When an end-user signs up to your application using the Sign Up action configured by you, the Catalyst server will check if Custom User Validation has been enabled. If it has been enabled, then the Basic I/O function that you have used to engineer the validation logic will be called and the user details will be passed to the validation function as a .JSON object. { "request_type": "add_user", "request_details": { "user_details": { "email_id": "emmy@zylker.com", "first_name": "Emma", "last_name": "Thompson", "org_id": "43************", "role_details": { "role_name": "App User", "role_id": "10********" } }, "auth_type": "web" } } Note: * Custom User Validation only applies for sign up action, i.e., when the user tries to access your Catalyst application for the very first time. * If you wish to alter any one of the input details for validation, the input to the function has to be sent as the complete .JSON object. 2. If the user's authentication is successful based on the custom logic coded by you, then the user will be able to access the application, and the details of this user can be viewed and managed in the User Management section. 3. If the end-user's details do not meet the authentication requirements you coded, then they will not be able to access the application. -------------------------------------------------------------------------------- title: "Implementation" description: "Custom User Validation allows you to validate user sign ups using custom logic" last_updated: "2026-09-09T11:06:25.958Z" source: "https://docs.catalyst.zoho.com/en/cloud-scale/help/authentication/whitelisting/custom-user-validation/implementation/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Implementation To use the Whitelisting section you have to configure at least one authentication type: Hosted Authentication Type, Embedded Authentication Type, or Third-party Authentication Type. You can access the Whitelisting by navigating to Cloud Scale > Authentication in the console, and clicking the Whitelisting option. <br /> Custom User Validation enables you to validate your end-users using a custom logic as defined by you in a Basic I/O function. Note: * Public Signupmust be enabled to use Custom User Validation * The custom validation function must already be coded as a Basic I/O, in Java, Node.js, or Python and present in the Catalyst console in Serverless Functions Custom User Validation will be **disabled** by default, and you have the option of configuring it in two ways: Note: You can also enable Custom User Validation in the *Additional Settings* section during the last step of all the authentication setups. <br /> ### Enable Custom User Validation 1. Click the **toggle button** present next to the **Custom User Validation** option in the *Whitelisting* section. <br /> Note: Public Signup must be enabled to use Custom User Validation. As mentioned earlier, you can enable while setting up an authentication type using the Additional Settings section. 2. Select the Basic I/O function that contains your custom logic from the dropdown. <br /> 3. You can click **JSON Validation** button to view and copy the sample JSON input to test the function. You can test this input with a sample function available in the respective SDK sections of each stack, or with your own custom logic. <br /> 4. Click **Configure** to finish enabling Custom User Validation. <br /> ### Disable Custom User Validation You can disable the *Custom User Validation* option if you no longer wish to validate user sign ups using a custom logic, by simply clicking the toggle button to disable *Custom User Validation*. <br /> Custom User Validation will be disabled, and can be re-enabled again at any time. Note: Custom User Validation will automatically be disabled for your application if you disable Public Signup. --- ## API Reference — Authentication -------------------------------------------------------------------------------- title: "Add New User" description: "This API enables you to add a new end-user to a Catalyst application for a specific platform through Catalyst Authentication" last_updated: "2026-09-09T11:06:25.963Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/add-new-user/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Authentication Catalyst Authentication features enable you to add end-users to your Catalyst serverless applications, configure their user accounts and roles, and manage user sign-in and authentication of your application. # Add a New User ### Description This API enables you to add a new end-user to the Catalyst application for a specific platform. When the user has signed up, unique identification values such as **ZUID**, **userID** are created for them. Note: You will be able to add only 25 users in your application in the development environment. After you deploy your application to production, you can include any number of end-users in it. ### Request Details #### Request URL <p>{api-domain}/baas/v1/project/{project_id}/project-user/signup</p> The DC-specific domain to access Catalyst API The unique ID of the project #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} <br> Content-Type: application/json <br> **Optional Headers** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.projects.users.CREATE <br/> #### Request JSON Properties Accepted values: web, android, ios The URL to be redirected to, after the user signs up for the application <br> Max Size: 200 The JSON that contains the details of the user First name of the user <br> Max Size: 100 Last name of the user <br> Max Size: 100 Email address of the user ### Response Details The response will contain the details of the user added in the data key, including the metadata and identification values such as zaid, user_id, and org_id that were generated. curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/3000000002001/project-user/signup \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type: application/json" \ -H "PROJECT_ID: 1010309726" \ -d '{ "user_details":{ "first_name":"Rowena", "last_name":"Simmons", "email_id":"r.simmons@zylker.com" }, "platform_type":"web", "redirect_url":"https://logistics.zylker.com/app/index.html" }' { "status": "success", "data": { "zaid": 1010309726, "user_details": { "user_id": 671930455, "user_type": "App Administrator", "zuid": 3000000006001, "zaaid": 1011520995, "status": "ACTIVE", "is_confirmed": true, "email_id": "r.simmons@zylker.com", "first_name": "Rowena", "last_name": "Simmons", "created_time": "May 13, 2019 09:16 PM", "modified_time": "May 13, 2019 09:16 PM", "invited_time": "May 13, 2019 09:16 PM", "role_details": { "role_id": 1256000000288012, "role_name": "App Administrator" } }, "redirect_url": "https://logistics.zylker.com/app/index.html", "platform_type": "web", "org_id": 1011520995 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" } } Add New User- Java SDK<br/><br/> Add New User- Node.js SDK<br/><br/> Add New User- Python SDK<br/><br/> Add New User- Web SDK -------------------------------------------------------------------------------- title: "Add a New User to an Existing Organization" description: "This API enables you to add a new end-user to an existing organization without creating a new organization for them through Catalyst Authentication." last_updated: "2026-09-09T11:06:25.963Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/add-user-to-existing-org/" service: "Cloud Scale" -------------------------------------------------------------------------------- <!-- Leftcontent --> # Add a New User to an Existing Organization ### Description This API enables you to add a new end-user to an existing organization without creating a new organization for them. This can be done by providing the **ZAAID** of the organization that the user must be added to. The organization of a user cannot be changed later, once it is associated with their account. When the user has signed up, unique identification values such as ZUID and User ID are created for them. ### Request Details #### Request URL <!-- shortcode 1 --> <p>{api-domain}/baas/v1/project/{project_id}/project-user</p> The DC-specific domain to access Catalyst API The unique ID of the project <br> #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token} <br> Content-Type: application/json <br> **Optional Headers** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.projects.users.CREATE #### Request JSON Properties Accepted values: web, android, ios The URL to be redirected to, after the user signs up for the application <br> Max Size: 200 The JSON that contains the details of the user First name of the user <br> Max Size: 100 Last name of the user <br> Max Size: 100 Email address of the user Unique identification of the organization that the user belongs to ### Response Details The response will contain the details of the user added in the data key, including the metadata and identification values such as zaid, user_id, and org_id that were generated. <!-- shortcode 1 ends --> <!-- Rightcontent --> curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/3000000002001/project-user \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type: application/json" \ -d '{ "user_details":{ "first_name":"John", "last_name":"Winchester", "email_id":"john.w@zylker.com", "zaaid":4567899 }, "redirect_url": "https://logistics.zylker.com/app/index.html", "platform_type":"web" }' { "status": "success", "data": { "zaid": 1011481670, "user_details": { "user_id": 671930400, "user_type": "App User", "zuid": 3000000006001, "zaaid": 1011520995, "status": "ACTIVE", "is_confirmed": true, "email_id": "john.w@zylker.com", "first_name": "John", "last_name": "Winchester", "created_time": "May 13, 2019 09:16 PM", "modified_time": "May 13, 2019 09:16 PM", "invited_time": "May 13, 2019 09:16 PM", "role_id": 3000000005015 }, "redirect_url": "https://logistics.zylker.com/app/index.html", "platform_type": "web", "org_id": 1011520995 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" } } Add New User to Existing Org- Java SDK<br/><br/> Add New User to Existing Org- Node.js SDK<br/><br/> Add New User to Existing Org- Python SDK<br/><br/> -------------------------------------------------------------------------------- title: "Get Current User" description: "This API enables you to fetch the details of the current user logged into the Catalyst application, on whose scope the function is being executed through Catalyst Authentication." last_updated: "2026-09-09T11:06:25.964Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/get-current-user/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Get the Details of the Current User ### Description This API enables you to fetch the details of the current user logged into the Catalyst application, on whose scope the function is being executed. ### Request Details #### Request URL <p>{api-domain}/baas/v1/project/{project_id}/project-user/current</p> The DC-specific domain to access Catalyst API The unique ID of the project <br> #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token}<br> <br> **Optional Headers** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.projects.users.READ <br /> Note: This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. However, the user can only obtain their own user details. Refer to the [Catalyst API Prerequisites section](/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Response Details The response will contain the details of the current user including their identification values such as zaid, user_id, email_id, and their role details. curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/3000000005007/project-user/current \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*6.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "zuid": 3000000006111, "zaaid": 1019540153, "status": "ACTIVE", "user_id": 671930409, "user_type": "App Administrator", "is_confirmed": true, "email_id": "p.boyle@zylker.com", "first_name": "Patricia", "last_name": "Boyle", "created_time": "Jul 09, 2019 04:11 PM", "modified_time": "Jul 09, 2019 04:11 PM", "invited_time": "Jul 09, 2019 04:11 PM", "role_details": { "role_id": 3000000005090, "role_name": "App Administrator" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" } } Get User Details- Java SDK<br/><br/> Get User Details- Node.js SDK<br/><br/> Get User Details- Python SDK<br/><br/> Get User Details- Web SDK -------------------------------------------------------------------------------- title: "Get Specific User" description: "This API enables you to obtain the details of a specific Catalyst application user through Catalyst Authentication" last_updated: "2026-09-09T11:06:25.964Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/get-specific-user/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Get the Details of a Specific User ### Description This API enables you to obtain the details of a specific Catalyst application user, by passing their user_ID in the request. ### Request Details #### Request URL <p>{api-domain}/baas/v1/project/{project_id}/project-user/{user_id}</p> The DC-specific domain to access Catalyst API The unique ID of the project The unique ID of the user #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token}<br> **Optional Headers** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.projects.users.READ ### Response Details The response will contain the details of the specific user including their identification values such as zuid, user_id, email_id, and their role details. curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/3000000005007/project-user/671930409 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "zuid": 3171930400, "zaaid": 1019540153, "status": "ACTIVE", "user_id": 671930409, "user_type": "App User", "is_confirmed": true, "email_id": "john.w@zylker.com", "first_name": "John", "last_name": "Winchester", "created_time": "Jul 09, 2019 04:11 PM", "modified_time": "Jul 09, 2019 04:11 PM", "invited_time": "Jul 09, 2019 04:11 PM", "role_details": { "role_id": 3000000005015, "role_name": "App User" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" } } Get User Details- Java SDK<br/><br/> Get User Details- Node.js SDK<br/><br/> Get User Details- Python SDK<br/><br/> Get User Details- Web SDK -------------------------------------------------------------------------------- title: "Get All Users" description: "This API enables you to fetch the details of all Catalyst applications users of a particular application through Catalyst Authentication." last_updated: "2026-09-09T11:06:25.965Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/get-all-users/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Get the Details of All Users ### Description This API enables you to fetch the details of all Catalyst applications users of a particular application through Pagination. **Pagination** allows you to retrieve the user list in pages through an iteration of API calls. For example, if you require user records to be fetched in batches of 200 as individual pages, you must include a start and an end parameter in your request. You can set the start index as 0 using the start parameter, and specify the maximum number of users to be fetched as 200 using the end parameter. To fetch the next set of user records, you can execute another API call by setting the start index as 200, and specifying the number of user records in that page using the end parameter accordingly. ### Request Details #### Request URL <p>{api-domain}/baas/v1/project/{project_id}/project-user?start={start_index}&end={number_of_users}</p> The DC-specific domain to access Catalyst API The unique ID of the project <p>The start index to fetch the user records from </p> <p> Number of user records to return in a single page through pagination </p> #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token}<br> **Optional Headers** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.projects.users.READ ### Response Details The response will contain the details of all application users including their identification values such as zuid, user_id, email_id, and their role details. curl -X GET \ https://api.catalyst.zoho.com/baas/v1/project/3000000005007/project-user?start=100&end=3 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": [ { "zuid": 3171930121, "zaaid": 1019540153, "status": "ACTIVE", "user_id": 671930409, "user_type": "App User", "is_confirmed": true, "email_id": "ron.grisham@zylker.com", "first_name": "Ronald", "last_name": "Grisham", "created_time": "Jul 09, 2019 04:11 PM", "modified_time": "Jul 09, 2019 04:11 PM", "invited_time": "Jul 09, 2019 04:11 PM", "role_details": { "role_id": 3000000005015, "role_name": "App User" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" }, { "zuid": 3171930089, "zaaid": 1019543293, "status": "ACTIVE", "user_id": 671930121, "user_type": "App User", "is_confirmed": true, "email_id": "Lucy.p@zylker.com", "first_name": "Lucy", "last_name": "Pettigrew", "created_time": "Jul 09, 2019 04:26 PM", "modified_time": "Jul 09, 2019 04:26 PM", "invited_time": "Jul 09, 2019 04:26 PM", "role_details": { "role_id": 3000000005015, "role_name": "App User" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" }, { "zuid": 3171937685, "zaaid": 1019540091, "status": "ACTIVE", "user_id": 671930888, "user_type": "App User", "is_confirmed": true, "email_id": "zayn.ahmed@zylker.com", "first_name": "Zayn", "last_name": "Ahmed", "created_time": "Jul 09, 2019 04:26 PM", "modified_time": "Jul 09, 2019 04:26 PM", "invited_time": "Jul 09, 2019 04:26 PM", "role_details": { "role_id": 3000000005015, "role_name": "App User" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" } ] } Get User Details- Java SDK<br/><br/> Get User Details- Node.js SDK<br/><br/> Get User Details- Python SDK<br/><br/> Get User Details- Web SDK -------------------------------------------------------------------------------- title: "Delete User" description: "This API enables you to delete an end-user from your Catalyst application and displays the details of the deleted user through Catalyst Authentication." last_updated: "2026-09-09T11:06:25.965Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/delete-user/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Delete User ### Description This API enables you to delete a user and completely remove their access to your Catalyst application. ### Request Details #### Request URL <p>{api-domain}/baas/v1/project/{project_id}/project-user/{user_id}</p> The DC-specific domain to access Catalyst API The unique ID of the project The unique User ID of the user generated by Catalyst <br> #### Request Headers **Authorization:** Zoho-oauthtoken {oauth_token}<br> <br> **Optional Headers** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Scope ZohoCatalyst.projects.users.DELETE <br /> Note: This operation can also be executed with Catalyst user authentication permissions using Catalyst SDKs. However, the user can only obtain their own user details. Refer to the [Catalyst API Prerequisites section](/en/api/introduction/overview-and-prerequisites/#prerequisites) for details. ### Response Details The response will contain the details of the deleted user including their identification values such as zaid, user_id, email_id, and their role details. curl -X DELETE \ https://api.catalyst.zoho.com/baas/v1/project/3000000005007/project-user/671930409 \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*6.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "zuid": 3000000006111, "zaaid": 1019540153, "status": "ACTIVE", "user_id": 671930409, "user_type": "App Administrator", "is_confirmed": true, "email_id": "p.boyle@zylker.com", "first_name": "Patricia", "last_name": "Boyle", "created_time": "Jul 09, 2019 04:11 PM", "modified_time": "Jul 09, 2019 04:11 PM", "invited_time": "Jul 09, 2019 04:11 PM", "role_details": { "role_id": 3000000005090, "role_name": "App Administrator" } "org_id":1019540153 "locale": "us|en_us|America/Los_Angeles" "time_zone": "America/Los_Angeles" } } Delete User - Java SDK<br/><br/> Delete User - Node.js SDK<br/><br> Delete User - Python SDK -------------------------------------------------------------------------------- title: "Reset User Password" description: "This API enables you to reset the password of a user of your Catalyst application through Catalyst Authentication." last_updated: "2026-09-09T11:06:25.965Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/reset-user-password/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Reset User Password ### Description This API enables you to reset the password of a user of your Catalyst application. When this API is called, an email will be sent to the user's email address with a password reset link. The user can configure a new password for your application and save it, upon clicking the link. ### Request Details #### Request URL <p>{api-domain}/baas/v1/project/{project_id}/project-user/forgotpassword</p> The DC-specific domain to access Catalyst API The unique ID of the project #### Request Headers **Content-Type:** application/json<br> **PROJECT_ID:** {ZAID} <br> **Optional Headers** <br> **CATALYST-ORG:** {org_id} **Environment:** Development Note: Catalyst does not authenticate this API request. Therefore, you need not pass an OAuth token or specify any scopes. #### Request JSON Properties Accepted values: web, android, ios <br> Max Size: N/A The URL to be redirected to, after the user resets the password <br> Max Size: 200 The JSON that contains the details of the user First name of the user <br> Mandatory: No <br> Max Size: 100 Last name of the user <br> Mandatory: No <br> Max Size: 100 Email address of the user <br> Mandatory: Yes <br> Max Size: N/A ### Response Details The response will contain the status of the reset password action. curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/3000000002001/project-user/forgotpassword \ -H "Content-Type: application/json" \ -d '{ "user_details":{ "email_id":"p.boyle@zylker.com" }, "platform_type":"web" }' { "status": "success", "data": "Reset link sent to your p.boyle@zylker.com email address. Please check your email :)" } Reset User Password- Java SDK<br/><br/> Reset User Password- Node.js SDK<br/><br/> Reset User Password- Python SDK<br/><br/> Reset User Password- Web SDK -------------------------------------------------------------------------------- title: "Sign Out User" description: "This API will log a user out of an active Catalyst session through Catalyst Authentication." last_updated: "2026-09-09T11:06:25.966Z" source: "https://docs.catalyst.zoho.com/en/api/code-reference/cloud-scale/authentication/sign-out-user/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Sign Out User ### Description A Catalyst application user can log out from their current active session in the application using this API request. Catalyst will not send any response back for this API request. ### Request Details #### Request URL <p>{application_domain}/baas/logout?logout=true&PROJECT_ID={project_id}</p> The DC-specific domain to access Catalyst API The unique ID of the project <p>The domain address of the Catalyst application</p> <br> **Optional Headers** <br> **CATALYST-ORG:** {org_id} **Environment:** Development Note: Catalyst does not authenticate this API request. Therefore, you need not pass an OAuth token or specify any scopes. curl -X GET \ https://portal.zylker.com/baas/logout?logout=true&PROJECT_ID=3000000002001 Sign Out User- Web SDK --- ## SDK — Android — Authentication -------------------------------------------------------------------------------- title: "Create User Instance" description: "Catalyst Authentication features enable you to manage the user authentication of your Catalyst app, add users, and configure their user accounts." last_updated: "2026-09-09T11:06:25.972Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Add New User - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Authentication Catalyst Authentication is a component of Catalyst Cloud Scale that enables you to add end-users to your application, customize app login and sign-up forms, manage user accounts and roles, and ensure secure access throughout your application. ## Create a New User Instance You can create a new user instance, and enable the methods defined in this class to access the instance object. This will prevent unnecessary server calls. You must pass the user's details to the **newUser()** method as shown in the code structure below. You must pass the user's email address and last name mandatorily to create the instance successfully. ZCatalystApp.getInstance().newUser( lastName: String, email:String ): ZCatalystUser **Parameters**: * **lastName**: The last name of the new user * **email**: Email address of the user, to which the invitation mail will be sent A sample code snippet is shown below: val user = ZCatalystApp.getInstance().newUser("Burrows", "emma@zylker.com") -------------------------------------------------------------------------------- title: "User Signup" description: "Adding new users to your catalyst application" last_updated: "2026-09-09T11:06:25.972Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/authentication/user-signup/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # User Signup You can add a new user to your Catalyst app by calling the **signUp()** method. You must pass the user instance defined here as the argument to the signup() method. The code syntax for user signup is given below: ZCatalystApp.getInstance().signUp( newUser: ZCatalystUser, success: (Pair&lt;ZCatalystOrg, ZCatalystUser&gt;) → Unit, failure: ((ZCatalystException) → Unit)? ): ZCatalystRequest&lt;ZCatalystResponse&lt;Pair&lt;ZCatalystOrg, ZCatalystUser&gt;&gt;&gt;? **Parameters**: * **newUser**: The user instance created before this operation A sample code snippet is shown below: ZCatalystApp.getInstance().signUp(user, { success -> println("User Sign up success") }, { exception -> println("User Sign up failed $exception") }) -------------------------------------------------------------------------------- title: "User Login" description: "You can display the login page to the end user of your Catalyst Android app." last_updated: "2026-09-09T11:06:25.972Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/authentication/user-login/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # User Login You can display the login page to the end user of your Catalyst Android app using the **login()** method. This will be displayed when the user is logged out of the app. If the login is successful, the user will be able to access the app. The code syntax for user login is given below: ZCatalystApp.getInstance().login( success: () → Unit, failure: (ZCatalystException) → Unit ): Unit A sample code snippet is shown below: ZCatalystApp.getInstance().login( { ZCatalystLogger.logInfo("Login Success") //Actions to execute on successful login }, { ZCatalystLogger.logError("Login failed - $it") //Actions to execute on failed login }) The methods of the ZCatalystLogger class are used to log the result of the operation. You can define your own actions to execute on a successful or a failed login. -------------------------------------------------------------------------------- title: "User Logout" description: "You can log an app user out from the Catalyst Android app." last_updated: "2026-09-09T11:06:25.972Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/authentication/user-logout/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Logout User - API (/en/api/code-reference/cloud-scale/authentication/sign-out-user/#SignOutUser) -------------------------------------------------------------------------------- # User Logout The logout() method can log an app user out from the Catalyst Android app. The code syntax for user logout is given below: ZCatalystApp.getInstance().logout( success: () → Unit, failure: (ZCatalystException) → Unit ): Unit A sample code snippet is shown below: ZCatalystApp.getInstance().logout( { ZCatalystLogger.logInfo("Logout Success") //Actions to execute on successful logout }, { ZCatalystLogger.logError("Logout failed - $it") //Actions to execute on failed logout }) The methods of the ZCatalystLogger class are used to log the result of the operation. You can define your own actions to execute upon a successful or failed logout. -------------------------------------------------------------------------------- title: "Get Current User" description: "You can obtain the details of the current end user of your application." last_updated: "2026-09-09T11:06:25.972Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/authentication/get-current-user/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Add New User - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Get Current User You can obtain the details of the current end user of your application by calling the getCurrentUser() method. Upon successful execution, this method will return the current user object. You can fetch the user's details that are registered in Catalyst, such as their first name, last name, or email address, using this. The code syntax for obtaining the current user is given below: ZCatalystApp.getInstance().getCurrentUser( success: (ZCatalystUser) → Unit, failure: ((ZCatalystException) → Unit)? ): ZCatalystRequest&lt;ZCatalystResponse&lt;ZCatalystUser&gt;&gt;? A sample code snippet is shown below: ZCatalystApp.getInstance().getCurrentUser( { user -> println("The current user is : ${user.firstName}") }, { exception -> println("Get current user failed! $exception") } ) -------------------------------------------------------------------------------- title: "Social Logins" description: "You can provide a native Google login and logout through Social Logins in your Android app." last_updated: "2026-09-09T11:06:25.972Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/authentication/social-logins/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Social Logins (/en/cloud-scale/help/authentication/social-logins/introduction/) - Google Login (/en/cloud-scale/help/authentication/social-logins/configuring-social-logins/#enable-google-social-login) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Social Logins Catalyst enables you to allow your end users to log on to your application using popular Identity Providers (IdP) or Social Logins through Authentication. Catalyst Android SDK enables you to provide Google login and logout functionality for your Android app users. Note: Public Signup must be enabled to use Social Logins. ### Google Login You can provide a native Google login in your Android app by configuring their authentication with Catalyst. To do so, you must register your app in the Google API console and obtain the required OAuth credentials, that include the client ID and client secret. You can learn about the steps involved in this process from the Enable Google Social Login help section. Note: You must configure the application type as a web application in step 12. After you finish configuring the Google social login in the Catalyst console, you can pass the client ID obtained from Google to perform the user login as shown below. fun login(activity: Activity, googleClientID: String, success: () -> Unit, failure: (ZCatalystException) -> Unit) **Parameters**: * **googleClientID**: The client ID obtained after configuring OAuth in Google's API console A sample code snippet is shown below: ZCatalystApp.getInstance().login("activity", "570*******************", { success -> println("User login success") }, { exception -> println("User login failed $exception") }) ### Google Logout You can log users out of your Catalyst Android app from their Google login by passing the client ID obtained from Google after configuring OAuth in Google's API console. This can be done as shown below. fun logout(activity: Activity, googleClientID: String, success: () -> Unit, failure: (ZCatalystException) -> Unit) **Parameters**: * **googleClientID**: The client ID obtained after configuring OAuth in Google's API console A sample code snippet is shown below: ZCatalystApp.getInstance().logout("activity", "570*******************", { println("Logout success") }, { println("Logout failed $exception") }) -------------------------------------------------------------------------------- title: "Third-Party Authentication" description: "You can implement a third-party authentication service of your preference in your Android app." last_updated: "2026-09-09T11:06:25.973Z" source: "https://docs.catalyst.zoho.com/en/sdk/android/v2/cloud-scale/authentication/third-party-authentication/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Third-Party Authentication (/en/cloud-scale/help/authentication/third-party-authentication/introduction/) - Generate Custom Server Token- Java SDK (/en/sdk/java/v1/cloud-scale/authentication/third-party-server-token/) - JavaScript SDK (/en/sdk/javascript/v1/overview/) - Generate Custom Server Token- Python SDK (/en/sdk/python/v1/cloud-scale/authentication/third-party-server-token/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Third-Party Authentication Cloud Scale's Authentication allows you to implement a third-party authentication service of your preference for your Catalyst application. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Note: Since you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. To implement third-party authentication in your Android app, you will need to perform the steps described below. ### 1. Configure the Third-Party Authentication Service Before you associate a third-party authentication with your Catalyst application, you must ensure that you have first completed handling the third-party logic in the external service. You can configure the authentication with any third-party of your choice. <br> ### 2. Set up the Third-Party Authentication Type in Catalyst You must now set up the third-party authentication that you configured in Catalyst by navigating to the Authentication component in Cloud Scale in the Catalyst console. The steps are explained in Set Up Third-party Authentication in Catalyst help page. This process involves the following steps that you must perform: **i. Generate a custom server token:** When a user is re-directed from a third-party service after being authenticated, their credentials must be passed to an authentication function that you will need to code in Java, Node.js, or Python. This function will generate a Catalyst server-side token **jwtToken** or **customToken** which will then be passed to client-side (Android app). The Catalyst console provides readymade scripts to generate the customToken. You can incorporate this script in the server-side function you write, to return the customToken. Note: To enable a third-party authentication in your Catalyst application, you must ensure that you have enabled Public Signup in the console. **ii. Skip the client-side configuration:** You can skip the client-side configuration in the console for now, as we will incorporate the custom server token in the client logic at the end to complete the login process. **iii. Configure additional settings and finish the setup:** Configure Customer User Validation or Authorized Domains as a part of Whitelisting and finish the set up. Catalyst will display a confirmation that a third-party authentication service has been enabled and your application’s authentication is being handled by it. <br> ### 3. Re-Import the Configuration File in your Android Project After you enable the third-party authentication for your Android app from the Catalyst console, you will need to download and import the app_configuration_development or the app_configuration_production properties file in your Android project again, based on your app's environment. This is because this file will now include two additional properties: JWTClientID and JWTClientSecret. These properties will need to be passed in the next step, after you re-initialize the SDK. To re-download the configuration file: 1. Navigate to **Settings**, then **Developer Tools** in your Catalyst console of your project. You will find your existing Android package under the Mobile SDK section. Open the package. <br> 2. Click on the required environment tab in the pop-up, then click **Download** to download the configuration file. <br> You can now re-import this downloaded configuration file by following the steps mentioned here. Note: You need not perform the steps 3 to 5 given in the SDK setup help page again. <br> ### 4. Re-Initialize the SDK You must now re-initialize the SDK to include the newly-downloaded properties in your code. Re-initializing the SDK can also be done in two ways similar to initializing the SDK for the first time: by specifying the environment of the project, and without specifying the environment where the production environment is considered the default. However, this will include additional SDK methods to confirm third-party authentication. #### Method 1: By specifying the environment You can re-initialize the SDK as shown below. You can pass the values for the Environment as either DEVELOPMENT or PRODUCTION based on the environment the app is operating in. The isCustomLogin indicates a boolean value that is set for the presence of a third-party authentication. These are passed to the init() method through the ZCatalystApp class as shown below: fun init( context: Context, environment: ZCatalystSDKConfigs.Environment, isCustomLogin: Boolean = false ): ZCatalystApp A sample code snippet for this operation is given below: ZCatalystApp.init( context, ZCatalystSDKConfigs.Environment.{DEVELOPMENT}, true ) <br> #### Method 2: Without specifying the environment If the Environment is not specified in the SDK initialization, it would be considered as PRODUCTION by default. This method also lets you re-initialize the SDK by specifying the JWTClientID and JWTClientSecret properties obtained from the newly-downloaded configuration file through with ZCatalystSDKConfigsBuilder. This can be done in the following way: fun init(context: Context, sdkConfigs: ZCatalystSDKConfigs, isCustomLogin: Boolean = false): ZCatalystApp A sample code snippet is given below: val sdkConfigs = ZCatalystSDKConfigs.Builder( apiBaseURL: 'https://api.catalyst.zoho.com', clientID: '100****************************FX', //JWTClientID clientSecret: '19ed***************************2s', //JWTClient secret redirectURL: '*****', oauthScopes: 'ZOHOCATALYST.tables.rows.ALL, ZOHOCATALYST.tables.columns.ALL', portalID: '10******79', projectID: 28*******90 ).setAccountsPortalBaseURL('https://accounts.zohoportal.com') .setUserAgent("ZCatalyst Sample App") .setRequestHeaders('PORTAL_ID', '*********') .build(); ZCatalystApp.init(context, sdkConfigs, true) <br> ### 5. Code the User Login Logic for the Third-Party Authentication You can now complete the setup by handling the login logic of the third-party authentication in your Android app. You must pass the customToken or jwtToken generated in [step 2](/en/sdk/android/v2/cloud-scale/authentication/third-party-authentication/#2-set-up-the-third-party-authentication-type-in-catalyst) to the handleCustomLogin() method as shown below: fun handleCustomLogin(jwtToken :String, success: () -> Unit, failure: (ZCatalystException) -> Unit) A sample code snippet is given below: ZCatalystApp.getInstance().handleCustomLogin("123xxxxxxxx", { println("Login successfully.") }, { println("Login failed.") }) Note: The custom server token will have to be generated every single time the user logs in to your application using a third-party authentication service. --- ## SDK — Flutter — Authentication -------------------------------------------------------------------------------- title: "Create User Instance" description: "You can create a new user instance to perform user operations in your Flutter app." last_updated: "2026-09-09T11:06:25.974Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Add New User - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Authentication Catalyst Authentication features enable you to manage the user authentication of your Catalyst app, add users, and configure their user accounts. ## Create a New User Instance You can create a new user instance, and enable the methods defined in this class to access the instance object. This will prevent unnecessary server calls. You must pass the user's details to the **newUser()** method, as shown in the code syntax below. You must pass the user's email address and first name mandatorily to create the instance successfully. ZCatalystUserDelegate newUser({ required String firstName, required String emailId, String? lastName, ZCatalystRole? role, }) **Parameters**: * **lastName** (Mandatory): The last name of the new user. * **email** (Mandatory): Email address of the user to which the invitation mail will be sent. * **lastName**: The last name of the new user. * **role**: The role the user must be assigned to. A sample code snippet is shown below: ZCatalystUserDelegate newUser = ZCatalystApp.getInstance().newUser( firstName: 'Patricia', emailId: 'p.boyle@zylker.com', lastname: 'Boyle', role: Admin, ); -------------------------------------------------------------------------------- title: "User Signup" description: "You can add new users to your Flutter application through signup" last_updated: "2026-09-09T11:06:25.974Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/authentication/user-signup/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # User Signup You can add a new user to your Catalyst app by calling the **signUp()** method. You must pass the user instance defined here as the argument to the signup() method. The code syntax for user signup is given below: Future<(APIResponse, ZCatalystUser)> signUp(ZCatalystUserDelegate newUser) **Parameters**: * **newUser**: The user instance created before this operation A sample code snippet is shown below: ZCatalystApp.getInstance().newUser( firstName: 'Patricia', emailId: 'p.boyle@zylker.com', ); try { var (response, user) = await ZCatalystApp.getInstance().signUp(newUser); print('User ID: ${user.id}') } on ZCatalystException catch (ex) { print(ex.toString()); } -------------------------------------------------------------------------------- title: "User Login" description: "You can display the login page to the end user of your Catalyst Flutter app." last_updated: "2026-09-09T11:06:25.974Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/authentication/user-login/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # User Login You can display the login page to the end user of your Catalyst Flutter app using the **login()** method. This will be displayed when the user is logged out of the app. If the login is successful, the user will be able to access the app. A sample code snippet is shown below: await ZCatalystApp.getInstance().login() -------------------------------------------------------------------------------- title: "User Logout" description: "You can log an app user out from the Catalyst Flutter app." last_updated: "2026-09-09T11:06:25.974Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/authentication/user-logout/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Logout User - API (/en/api/code-reference/cloud-scale/authentication/sign-out-user/#SignOutUser) -------------------------------------------------------------------------------- # User Logout The logout() method can log an app user out from the Catalyst Flutter app. A sample code snippet is shown below: await ZCatalystApp.getInstance().logout() -------------------------------------------------------------------------------- title: "User Authentication Status" description: "You can find the authentication status of a Flutter app user easily." last_updated: "2026-09-09T11:06:25.974Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/authentication/user-authentication-status/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # User Authentication Status You can find the authentication status of an app user using the isUserLoggedIn() method. This will return a boolean response as to the user's login status. The code syntax for user logout is given below: bool isUserLoggedIn = await ZCatalystApp.getInstance().isUserLoggedIn(); //Actions to be executed upon successfully fetching the status A sample code snippet is shown below: bool isUserLoggedIn = await ZCatalystApp.getInstance().isUserLoggedIn(); print(isUserLoggedIn); //prints "true" or "false" -------------------------------------------------------------------------------- title: "Get Current User" description: "You can obtain the details of the current end user of your Flutter application." last_updated: "2026-09-09T11:06:25.974Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/authentication/get-current-user/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Add New User - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Get Current User You can obtain the details of the current end user of your application by calling the getCurrentUser() method. Upon successful execution, this method will return the current user object. You can fetch the user's details that are registered in Catalyst, such as their first name, last name, or email address, using this. The code syntax for obtaining the current user is given below: ZCatalystApp.getInstance().getCurrentUser( void Function() onSuccess, void Function(ZCatalystException) onFailed ) A sample code snippet is shown below: try { var (response, user) = await app.getCurrentUser(); print('User ID: ${user.id}') } on ZCatalystException catch (ex) { print(ex.toString()); } -------------------------------------------------------------------------------- title: "Third-Party Authentication" description: "You can implement a third-party authentication service of your preference in your Flutter app." last_updated: "2026-09-09T11:06:25.975Z" source: "https://docs.catalyst.zoho.com/en/sdk/flutter/v2/cloud-scale/authentication/third-party-authentication/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Third-Party Authentication (/en/cloud-scale/help/authentication/third-party-authentication/introduction/) - Generate Custom Server Token- Java SDK (/en/sdk/java/v1/cloud-scale/authentication/third-party-server-token/) - JavaScript SDK (/en/sdk/javascript/v1/overview/) - Generate Custom Server Token- Python SDK (/en/sdk/python/v1/cloud-scale/authentication/third-party-server-token/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Third-Party Authentication Cloud Scale's Authentication allows you to implement a third-party authentication service of your preference for your Catalyst application. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Note: Since you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. To implement third-party authentication in your mobile app, you will need to perform the steps described below. ### 1. Configure the Third-Party Authentication Service Before you associate a third-party authentication with your Catalyst application, you must ensure that you have first completed handling the third-party logic in the external service. You can configure the authentication with any third-party of your choice. <br> ### 2. Set up the Third-Party Authentication Type in Catalyst You must now set up the third-party authentication that you configured in Catalyst by navigating to the Authentication component in Cloud Scale in the Catalyst console. The steps are explained in Set Up Third-party Authentication in Catalyst help page. This process involves the following steps that you must perform: **i. Generate a custom server token:** When a user is re-directed from a third-party service after being authenticated, their credentials must be passed to an authentication function that you will need to code in Java, Node.js, or Python. This function will generate a Catalyst server-side token **jwtToken** or **customToken** which will then be passed to client-side (Flutter app). The Catalyst console provides readymade scripts to generate the customToken. You can incorporate this script in the server-side function you write, to return the customToken. Note: To enable a third-party authentication in your Catalyst application, you must ensure that you have enabled Public Signup in the console. **ii. Skip the client-side configuration:** You can skip the client-side configuration in the console for now, as we will incorporate the custom server token in the client logic at the end to complete the login process. **iii. Configure additional settings and finish the setup:** Configure Customer User Validation or Authorized Domains as a part of Whitelisting and finish the set up. Catalyst will display a confirmation that a third-party authentication service has been enabled and your application’s authentication is being handled by it. <br> ### 3. Re-Import the Configuration File in your Flutter Project After you enable the third-party authentication for your Android app from the Catalyst console, you will need to download and import the properties file in your Flutter project again, based on the platform that you are developing your app in and your app's environment. That is, if you are developing an Android app, download the app_configuration_development or the app_configuration_production file, and if you are developing an iOS app, download the AppConfigurationDevelopment.plist or AppConfigurationProduction.plist file. This is because this file will now include two additional properties: JWTClientID and JWTClientSecret. These properties will need to be passed in the next step, after you re-initialize the SDK. To re-download the configuration file: 1. Navigate to **Settings**, then **Developer Tools** in your Catalyst console of your project. You will find your existing Android or iOS package under the Mobile SDK section. Open the required package. <br> 2. Click on the required environment tab in the pop-up, then click **Download** to download the configuration file. <br> You can now re-import this downloaded configuration file by following the steps mentioned here for Android and here for iOS. Note: You need not perform the steps 3 to 5 given in the Android SDK setup or steps 3, 4, 6 given in the iOS SDK setup help pages again. <br> ### 4. Re-Initialize the Flutter SDK You must now re-initialize the SDK to include the newly-downloaded properties in your code. Re-initializing the SDK can also be done in two ways similar to initializing the SDK for the first time: Using the Catalyst configuration file or By passing the custom SDK Configuration Object. However, this will include additional SDK methods to confirm third-party authentication. #### 1. Using the Catalyst Configuration File You can do this by specifying the environment of the project, or without specifying the environment where the production environment is considered the default. **By specifying the environment:** You can re-initialize the SDK as shown below. You can pass the values for the Environment as either DEVELOPMENT or PRODUCTION based on the environment the app is operating in. The isCustomLogin indicates a boolean value that is set for the presence of a third-party authentication. These are passed to the init() method through the ZCatalystApp class as shown below: ZCatalystApp.init({ ZCatalystEnvironment? environment, bool isCustomLogin = false }); A sample code snippet for this operation is given below: void main() async { try { await ZCatalystApp.init( environment: ZCatalystEnvironment.DEVELOPMENT, isCustomLogin: true ); } on ZCatalystException catch (ex) { print('Initialized Failed: ${ex.toString()}'); } } <br> **Without specifying the environment:** If the Environment is not specified in the SDK initialization, it would be considered as PRODUCTION by default. Therefore, if your app is operating in the Production environment, you can initialize the SDK directly in the following way: ZCatalystApp.init({ bool isCustomLogin = false }); A sample code snippet for this operation is given below: void main() async { try { await ZCatalystApp.init( isCustomLogin: true ); } on ZCatalystException catch (ex) { print('Initialized Failed: ${ex.toString()}'); } } <br> #### 2. By passing the custom SDK Configuration Object: Alternatively, you can re-initialize the Flutter SDK by building a custom ZCatalystSDKConfigs object that you can pass using the ZCatalystSDKConfigsBuilder class. You can refer here for the properties included in this object. This method also lets you re-initialize the SDK by specifying the JWTClientID and JWTClientSecret properties obtained from the newly-downloaded configuration file through with ZCatalystSDKConfigsBuilder. This can be done in the following way: ZCatalystApp.init({ ZCatalystSDKConfigs? sdkConfigs, ZCatalystEnvironment? environment, bool isCustomLogin = true }); A sample code snippet is given below: ZCatalystSDKConfigs configs = ZCatalystSDKConfigsBuilder.customLogin( accountsPortalBaseURL: "https://accounts.zohoportal.com/", apiBaseURL: "https://api.catalyst.zoho.com/", environment: ZCatalystEnvironment.DEVELOPMENT, jwtClientID: "100****************************FX", jwtClientSecret: "19ed***************************2s", oauthScopes: "ZOHOCATALYST.tables.rows.ALL, ZOHOCATALYST.tables.columns.ALL", portalID: "10******79", projectID:28*****90 , redirectURL: "*****" ); <br> ### 5. Code the User Login Logic for the Third-Party Authentication You can now complete the setup by handling the login logic of the third-party authentication in your mobile app. You must pass the customToken or jwtToken generated in [step 2](/en/sdk/flutter/v2/cloud-scale/authentication/third-party-authentication/#2-set-up-the-third-party-authentication-type-in-catalyst) to the handleCustomLogin() method as shown below: Future&lt;void&gt; handleCustomLogin(String jwtToken) A sample code snippet is given below: await ZCatalystApp.getInstance().handleCustomLogin("123xxxxxxxx"); Note: The custom server token will have to be generated every single time the user logs in to your application using a third-party authentication service. --- ## SDK — iOS — Authentication -------------------------------------------------------------------------------- title: "Create a New User Instance" description: "Catalyst authentication feature enables you to manage user authentication. You can create new user instances to prevent unnecessary server calls." last_updated: "2026-09-09T11:06:25.976Z" source: "https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Add New User - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Authentication Catalyst Authentication is a component of Catalyst Cloud Scale that enables you to add end-users to your application, customize app login and sign-up forms, manage user accounts and roles, and ensure secure access throughout your application. ## Create a New User Instance You can create a new user instance, and enable the methods defined in this class to access the instance object. This will prevent unnecessary server calls. You must pass the user's details to the **newUser()** method as shown in the code syntax below. You must pass the user's email address and last name mandatorily to create the instance successfully. ZCatalystApp.shared.newUser( lastName : String, email : String ) -> ZCatalystUser **Parameters**: * **lastName**: The last name of the new user * **email**: Email address of the user, to which the invitation mail will be sent A sample code snippet is shown below: ZCatalystApp.shared.newUser( lastName : "Burrows", email : "emma@zylker.com" ) -> ZCatalystUser -------------------------------------------------------------------------------- title: "User Signup" description: "Adding new users to your catalyst application." last_updated: "2026-09-09T11:06:25.976Z" source: "https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/authentication/user-signup/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # User Signup You can add a new user to your Catalyst app by calling the signUp() method. You must pass the user instance defined here as the argument to the **signUp()** method. The code syntax for user signup is given below: ZCatalystApp.shared.signUp(user: ZCatalystUser, completion: @escaping (Result&lt;( ZCatalystUser, Int64 ), ZCatalystError &gt;) -> Void) **Parameters**: * **user**: The user instance created before this operation * **completion**: If the call executes successfully, the completion block returns the user object with an UserID, ZUID, Org ID, etc assigned for the user. Else, it returns an error. A sample code snippet is shown below: let userobj = ZCatalystApp.shared.newUser( lastName : "McRogan", email : "timothy.mcrogan@zylker.com") //Replace this with the last name and email address of the user ZCatalystApp.shared.signUp(user: userobj) { ( result ) in switch result{ case .success ( let result ) : print("The user \(result.0.firstName) in org \(result.1) has been successfully signed up.") case .error( let error ) : print( "Error occurred &gt;&gt;&gt; \( error )" ) } } -------------------------------------------------------------------------------- title: "User Login" description: "You can display the login page to the end user of your Catalyst iOS app." last_updated: "2026-09-09T11:06:25.976Z" source: "https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/authentication/user-login/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # User Login You can display the login page to the end user of your Catalyst iOS app using the **showLogin()** method. This will be displayed when the user is logged out of the app. If the login is successful, the user will be able to access the app. The code syntax for user login is given below: ZCatalystApp.shared.showLogin( completion : @escaping ( Error? ) -> Void ) ViewController.swift **Parameters**: * **completion**: The completion block will be passed with an error if the login was unsuccessful. -------------------------------------------------------------------------------- title: "User Logout" description: "You can log an app user out from the Catalyst iOS app." last_updated: "2026-09-09T11:06:25.976Z" source: "https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/authentication/user-logout/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Logout User - API (/en/api/code-reference/cloud-scale/authentication/sign-out-user/#SignOutUser) -------------------------------------------------------------------------------- # User Logout The **logout()** method can log an app user out from the Catalyst iOS app. The code syntax for user logout is given below: ZCatalystApp.shared.logout( completion : @escaping ( Error? ) -> Void ) ViewController.swift **Parameters**: * **completion**: The completion block will be passed with an error if the logout was unsuccessful. -------------------------------------------------------------------------------- title: "Get Current User" description: "You can obtain the details of the current end user of your application." last_updated: "2026-09-09T11:06:25.976Z" source: "https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/authentication/get-current-user/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Users (/en/cloud-scale/help/authentication/user-management/users/introduction/) - Get Current User - API (/en/api/code-reference/cloud-scale/authentication/get-current-user/#GetCurrentUser) -------------------------------------------------------------------------------- # Get Current User You can obtain the details of the current end user of your application by calling the **getCurrentUser()** method. Upon successful execution, this method will return the current user object. You can fetch the user's details that are registered in Catalyst, like their first name, last name, email address, etc using this. The code syntax for obtaining the current user is given below: ZCatalystApp.shared.getCurrentUser( completion: @escaping (Result&lt; ZCatalystUser,ZCatalystError &gt; ) -> Void ) **Parameters**: * **completion**: If the call is successful, the completion block will return the current user object. Else, it will return an error. A sample code snippet is shown below: ZCatalystApp.shared.getCurrentUser { ( result ) in switch result{ case .success ( let user) : print("The current user is \(user.firstName).") case .error( let error ) : print( "Error occurred &gt;&gt;&gt; \( error )" ) } } -------------------------------------------------------------------------------- title: "Third-Party Authentication" description: "You can implement a third-party authentication service of your preference in your iOS app." last_updated: "2026-09-09T11:06:25.976Z" source: "https://docs.catalyst.zoho.com/en/sdk/ios/v2/cloud-scale/authentication/third-party-authentication/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Third-Party Authentication (/en/cloud-scale/help/authentication/third-party-authentication/introduction/) - Generate Custom Server Token- Java SDK (/en/sdk/java/v1/cloud-scale/authentication/third-party-server-token/) - JavaScript SDK (/en/sdk/javascript/v1/overview/) - Generate Custom Server Token- Python SDK (/en/sdk/python/v1/cloud-scale/authentication/third-party-server-token/) - Authentication - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) -------------------------------------------------------------------------------- # Third-Party Authentication Cloud Scale's Authentication allows you to implement a third-party authentication service of your preference for your Catalyst application. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Note: Since you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. To implement third-party authentication in your iOS app, you will need to perform the steps described below. ### 1. Configure the Third-Party Authentication Service Before you associate a third-party authentication with your Catalyst application, you must ensure that you have first completed handling the third-party logic in the external service. You can configure the authentication with any third-party of your choice. <br> ### 2. Set up the Third-Party Authentication Type in Catalyst You must now set up the third-party authentication that you configured in Catalyst by navigating to the Authentication component in Cloud Scale in the Catalyst console. The steps are explained in Set Up Third-party Authentication in Catalyst help page. This process involves the following steps that you must perform: **i. Generate a custom server token:** When a user is re-directed from a third-party service after being authenticated, their credentials must be passed to an authentication function that you will need to code in Java, Node.js, or Python. This function will generate a Catalyst server-side token **jwtToken** or **customToken** which will then be passed to client-side (iOS app). The Catalyst console provides readymade scripts to generate the customToken. You can incorporate this script in the server-side function you write, to return the customToken. Note: To enable a third-party authentication in your Catalyst application, you must ensure that you have enabled Public Signup in the console. **ii. Skip the client-side configuration:** You can skip the client-side configuration in the console for now, as we will incorporate the custom server token in the client logic at the end to complete the login process. **iii. Configure additional settings and finish the setup:** Configure Customer User Validation or Authorized Domains as a part of Whitelisting and finish the set up. Catalyst will display a confirmation that a third-party authentication service has been enabled and your application’s authentication is being handled by it. <br> ### 3. Re-Import the Configuration File in your iOS Project After you enable the third-party authentication for your iOS app from the Catalyst console, you will need to download and import the AppConfigurationDevelopment.plist or the AppConfigurationProduction.plist properties file in your iOS project again, based on your app's environment. This is because this file will now include two additional properties: JWTClientID and JWTClientSecret. These properties will need to be passed in the next step, after you re-initialize the SDK. To re-download the configuration file: 1. Navigate to **Settings**, then **Developer Tools** in your Catalyst console of your project. You will find your existing iOS package under the Mobile SDK section. Open the package. <br> 2. Click on the required environment tab in the pop-up, then click **Download** to download the configuration file. <br> You can now re-import this downloaded configuration file by following the steps mentioned here. Note: You need not perform the steps 3, 4, 6 given in the SDK setup help page again. <br> ### 4. Re-Initialize the SDK You must now re-initialize the SDK to include the newly-downloaded properties in your code. Re-initializing the SDK can be done similar to initializing the SDK for the first time. However, you will now need to specify the JWTClientID and JWTClientSecret properties obtained from the newly-downloaded configuration file through with ZCatalystAppConfiguration. public func initSDK( window : UIWindow, environment : ZCatalystEnvironment, appConfiguration : ZCatalystAppConfiguration ) throws **Parameters:** * **window**: The window object that dispatches events to your views * **appConfiguration**: An object containing all the configuration details for the functioning of the SDK. * **environment**: The environment of your app, either **.development** or **.production**. The environment here indicates if the app is operating in the Development or the Production environment. Similar to including the appropriate plist configuration file based on the environment in your app's project, you must re-initialize the SDK for the appropriate environment. <br> ### 5. Code the User Login Logic for the Third-Party Authentication You can now complete the setup by handling the login logic of the third-party authentication in your iOS app. You must pass the customToken or jwtToken generated in [step 2](/en/sdk/ios/v2/cloud-scale/authentication/third-party-authentication/#2-set-up-the-third-party-authentication-type-in-catalyst) to the handleCustomLogin() method as shown below: public func handleCustomLogin( withJWT token : String, completion : @escaping ( Error? ) -> Void ) Note: The custom server token will have to be generated every single time the user logs in to your application using a third-party authentication service. --- ## SDK — Java — Authentication -------------------------------------------------------------------------------- title: "Add New User" description: "This page describes the method to add new end-users to your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.978Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/add-new-user/" service: "Cloud Scale" related: - Add new user - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) - Catalyst Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Authentication Catalyst Authentication features enable you to add end-users to your Catalyst serverless applications, configure their user accounts and roles, and manage user sign-in and authentication of your application. You can learn about working with Catalyst Authentication from the remote console from the Authentication help document. ### Add New User When a user has signed up to a Catalyst application, unique identification values like ZUID and userID are created for them. The user is also assigned to an organization by Catalyst. You can learn more about this from the Users help page. You can add a new end-user to your Catalyst application using the code below. The user details such as their email address, last name, the application platform and the role they must be added to, are passed through an instance of the ZCSignUpData class. The user registration process is handled by the registerUser() method, after obtaining an instance of the ZCUser class. Note: * You will be able to add only 25 users in your application in the development environment. After you deploy your application to production, you can include any number of end-users in it. * You must provide the values for EmailId and FirstName to register a user mandatorily. * You can obtain the RoleId from the _Roles_ section in _Authentication_ in the Catalyst console. * When inviting a new user, you can configure the sender's email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. #### Sample Code Snippet <br> import com.zc.component.users.PlatformType; import com.zc.component.users.ZCSignUpData; import com.zc.component.users.ZCUser; import com.zc.component.ZCMailTemplateDetails; //Get an instance of ZCSignUpData ZCSignUpData signUpdetails = ZCSignUpData.getInstance(); //Pass the necessary data for the sign-up using the instance ZCMailTemplateDetails mailData= signUpdetails.mailTemplateInstance(); mailData.setSendersMail("docofoh552@lukaat.com"); mailData.setSubject("Welcome to %APP_NAME%"); mailData.setMessage("<p>Hello ,</p> <p>Follow this link to join in %APP_NAME% .</p> <p><a href='\%LINK%\'>%LINK%</a></p> <p>If you didn’t ask to join the application, you can ignore this email.</p> <p>Thanks,</p> <p>Your %APP_NAME% team</p>"); signUpdetails.setTemplateDetails(mailData); signUpdetails.setPlatformType(PlatformType.WEB); signUpdetails.userDetail.setEmailId("p.boyle@zylker.com"); signUpdetails.userDetail.setLastName("Boyle"); signUpdetails.userDetail.setRoleId(1256000000228024L); //Register the user using an instance of ZCUser class signUpdetails = ZCUser.getInstance().registerUser(signUpdetails); -------------------------------------------------------------------------------- title: "Get All Org IDs" description: "This page describes the method to collect all the Org IDs associated to your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.978Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/get-org-id/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - User Management (/en/cloud-scale/help/authentication/user-management/users/introduction/) -------------------------------------------------------------------------------- # Get All Org IDs Org ID or ZAAID is the unique identification of the organization that an end-user belongs to. This identification is generated when the end-user signs up to your application through any of the authentication types, gets added through the Add User API or through the Add User button in the console. The SDK snippet below demonstrates fetching all the Org IDs generated while adding new users to your application using the getAllOrgs() method. #### Sample Code Snippet <br> import com.zc.component.users.ZCUser; ZCUser user = ZCUser.getInstance(); user.getAllOrgs(); <br /> -------------------------------------------------------------------------------- title: "Add User to Existing Org" description: "This page describes the method to add new end-users to your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.978Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/add-new-user-to-existing-org/" service: "Cloud Scale" related: - Add New User to Existing Org - API (/en/api/code-reference/cloud-scale/authentication/add-user-to-existing-org/#AddaNewUsertoanExistingOrganization) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Add a New User to an Existing Organization The code snippet given below allows registering a user to an existing orginization without creating a new organization. Note: * FirstName, EmailId and OrgIDare mandatory attributes. * When inviting a new user, you can configure the sender's email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. #### Sample Code Snippet <br> import com.zc.component.users.PlatformType; import com.zc.component.users.ZCSignUpData; import com.zc.component.users.ZCUser; import com.zc.component.ZCMailTemplateDetails; //Get an instance of ZCSignUpData ZCSignUpData signUpdetails = ZCSignUpData.getInstance(); //Pass the necessary data for the sign-up using the instance ZCMailTemplateDetails mailData= signUpdetails.mailTemplateInstance(); mailData.setSendersMail("docofoh552@lukaat.com"); mailData.setSubject("Welcome to %APP_NAME%"); mailData.setMessage("<p>Hello ,</p> <p>Follow this link to join in %APP_NAME% .</p> <p><a href='\%LINK%\'>%LINK%</a></p> <p>If you didn’t ask to join the application, you can ignore this email.</p> <p>Thanks,</p> <p>Your %APP_NAME% team</p>"); signUpdetails.setTemplateDetails(mailData); signUpdetails.setPlatformType(PlatformType.WEB); signUpdetails.userDetail.setEmailId("amelia.burrows@zylker.com"); signUpdetails.userDetail.setLastName("Amelia"); signUpdetails.userDetail.setOrgId("35712181"); //Pass user's OrgID here //Register the user using signUpdetails signUpdetails = ZCUser.getInstance().addUser(signUpdetails); -------------------------------------------------------------------------------- title: "Get All Users in an Organization" description: "This page describes the method to add get all the users associated to an organization in your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.978Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/get-users-in-org/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - User Management (/en/cloud-scale/help/authentication/user-management/users/introduction/) -------------------------------------------------------------------------------- # Get All Users in an Organization The SDK snippet below demonstrates fetching the list of all users of an organization using the getAllUsers() method. #### Sample Code Snippet <br> import com.zc.component.users.ZCUser; ZCUser user = ZCUser.getInstance(); user.getAllUser(10062701096); // Enter your Org ID here -------------------------------------------------------------------------------- title: "Reset Password" description: "This page describes the method to add new end-users to your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.978Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/reset-password/" service: "Cloud Scale" related: - Reset Password - API (/en/api/code-reference/cloud-scale/authentication/reset-user-password/#ResetUserPassword) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Reset Password After the successful registration of a user, you can reset the password using the following code snippet. When called, the resetPassword() method generates a reset password link and sends it to the user's Email address. Note: You can configure the sender's email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. #### Sample Code Snippet <br> import com.zc.component.users.PlatformType; import com.zc.component.users.ZCSignUpData; import com.zc.component.users.ZCUser; import com.zc.component.ZCMailTemplateDetails; //Get an instance of ZCSignUpData ZCSignUpData signUpdetails = ZCSignUpData.getInstance(); //Pass the necessary data for the sign-up using the instance ZCMailTemplateDetails mailData= signUpdetails.mailTemplateInstance(); mailData.setSendersMail("docofoh552@lukaat.com"); mailData.setSubject("Welcome to %APP_NAME%"); mailData.setMessage("<p>Hello ,</p> <p>Follow this link to join in %APP_NAME% .</p> <p><a href='\%LINK%\'>%LINK%</a></p> <p>If you didn’t ask to join the application, you can ignore this email.</p> <p>Thanks,</p> <p>Your %APP_NAME% team</p>"); signUpdetails.setTemplateDetails(mailData); signUpdetails.setPlatformType(PlatformType.WEB); signUpdetails.userDetail.setEmailId("amelia.burrows@zylker.com"); signUpdetails.userDetail.setLastName("Burrows"); //Call reset password to send a mail to reset password ZCUser.getInstance().resetPassword(signUpdetails); -------------------------------------------------------------------------------- title: "Generate a Custom Server Token" description: "This page describes the method to add new end-users to your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.979Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/third-party-server-token/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Generate a Custom Server Token Cloud Scale's Authentication component allows you to implement a third-party authentication service of your preference for your Catalyst application. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Note: * Since you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. * To enable a third-party authentication in your Catalyst application, you must ensure that you have enabled Public Signup in the console. When a user is re-directed from a third-party service after being authenticated, their credentials must be passed to an authentication function that you code. This function must include the Catalyst server-side logic to generate a custom server token, which will then be passed to the Web SDK incorporated in the client code. A sample code to generate a custom server token is given below. #### Sample Code Snippet ZCCustomTokenDetails customTokenDetails = ZCCustomTokenDetails.getInstance(); ZCCustomTokenUserDetails tokenUserDetails = ZCCustomTokenUserDetails.getInstance(); //Set token user details tokenUserDetails.setEmailId("emma@zylker.com"); tokenUserDetails.setFirstName("Amelia"); tokenUserDetails.setLastName("Burrows"); tokenUserDetails.setRoleName("App Admin"); customTokenDetails.setUserDetails(tokenUserDetails); ZCCustomTokenResponse customTokenResp = ZCUser.getInstance().generateCustomToken(customTokenDetails); You can now pass this token to the client logic as explained in this Web SDK help page. Note: The custom server token will have to be generated every single time the user logs in to your application using a third-party authentication service. -------------------------------------------------------------------------------- title: "Custom User Validation" description: "This page describes the method to add new end-users to your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.979Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/custom-user-validation/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Custom User Validation Catalyst Authentication allows you to authorize and validate your end-users using a custom Basic I/O function on the event of a sign-up to your Catalyst application. You can write your own logic and process the credentials that the user provides through this function, and grant access to your application. A sample code for a Custom User Validation function is given below. #### Sample Code Snippet <br> 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; The validation logic can be set based on your preference. In this example, we have depicted the logic with @notallowedemail. If the user tries to sign up using a disallowed email addressed, the user will not be allowed to sign up. 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); // The user has failed authentication } else { validationResponse.setStatus(ZCSignupValidationStatus.SUCCESS); // The actions that occur in the event of a successful authentication can be customized 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); } } } <br> To test this function, you can pass the details of the user in the following .JSON format: { "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" } } -------------------------------------------------------------------------------- title: "Get User Details" description: "This page describes the method to add new end-users to your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.979Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/get-user-details/" service: "Cloud Scale" related: - Get User Details - API (/en/api/code-reference/cloud-scale/authentication/get-current-user/#GetCurrentUser) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Get User Details Catalyst Authentication provides some variants to retrieve the details of the app users. It is possible to obtain the user information of the current user, any, or all users of the application. ### Get Current User Details This code fetches the details of an user on whose scope the function is getting executed. #### Sample Code Snippet <br> import com.zc.component.ZCUserDetail; import com.zc.component.users.ZCUser; //Create an instance of the ZCUser object to get current user information ZCUserDetail details = ZCUser.getInstance().getCurrentUser(); ### Get All User Details This code can fetch the details of all the users who are registered with the application. #### Sample Code Snippet <br> import com.zc.component.ZCUserDetail; import com.zc.component.users.ZCUser; //Create an instance of ZCUser and call getAllUser to get all the users in the application List&lt;ZCUserDetail&gt; details = ZCUser.getInstance().getAllUser(); ### Get User Details by User ID Unlike the previous code, when you want to retrieve the information of a particular user, you can use this code where the User ID of the user is passed as a parameter to the getUser() method. #### Sample Code Snippet <br> import com.zc.component.ZCUserDetail; import com.zc.component.users.ZCUser; //Create an instance of the ZCUser object and use user id to get user information based on id ZCUserDetail details = ZCUser.getInstance().getUser(1510000000113214L); -------------------------------------------------------------------------------- title: "Update Details of a User" description: "This page describes the method to modify or update a user's details signed up to your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.979Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/update-user-details/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Modify a User's Details in the Console (/en/cloud-scale/help/authentication/user-management/users/implementation/#modify-a-users-details) -------------------------------------------------------------------------------- # Update Details of a User Catalyst allows you to modify and update the following details of an end-user: * First Name * Last name * **ZAAID**: **ZAAID** or Org ID, is a unique value that is generated by Catalyst to associate with an organization. * RoleID: Role ID is the value generated by Catalyst that is assigned to a particular user role. The SDK snippet below demonstrates updating an end-user's details using the updateUser() method. The first name of the user is updated in the example below. The getUserID() method will fetch the User ID of the user. The UserID will be present in the *Users* > *User Management* section of the Authentication component. #### Sample Code Snippet <br> import com.zc.component.ZCUserDetail; import com.zc.component.users.ZCUser; ZCUser user = ZCUser.getInstance(); ZCUserDetail userDetail = user.getCurrentUser(); userDetail.setFirstName("Josh"); user.updateUser(userDetail.getUserId(), userDetail); <br /> -------------------------------------------------------------------------------- title: "Enable or Disable a User" description: "This page describes the method to enable or disable a user in your Java application using Catalyst Authentication with sample code snippets." last_updated: "2026-09-09T11:06:25.979Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/enable-disable-user/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Enable or Disable a User in the Console (/en/cloud-scale/help/authentication/user-management/users/implementation/#enable-or-disable-a-user) -------------------------------------------------------------------------------- # Enable or Disable a User Catalyst allows you to disable or enable a user at any time. A disabled user will still be listed in the *Users* section in your project, but will not be able to access your application. The SDK snippet below demonstrates enabling and disabling an end-user using the updateUserStatus() method. The user is referred by their unique User ID. You can find the User IDs of all users by navigating to the *Users* > *User Management* section of the Authentication component. ### To Enable a User #### Sample Code Snippet <br> import com.zc.component.ZCUserDetail; import com.zc.component.users.ZCUser; ZCUser user = ZCUser.getInstance(); user.updateUserStatus(USER_ID, USER_STATUS.ENABLE); ### To Disable a User #### Sample Code Snippet <br> import com.zc.component.ZCUserDetail; import com.zc.component.users.ZCUser; ZCUser user = ZCUser.getInstance(); user.updateUserStatus(USER_ID, USER_STATUS.DISABLE); <br /> -------------------------------------------------------------------------------- title: "Delete User" description: "This page describes the method to delete users from your Java application with sample code snippets." last_updated: "2026-09-09T11:06:25.979Z" source: "https://docs.catalyst.zoho.com/en/sdk/java/v1/cloud-scale/authentication/delete-user/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Delete User You can delete the end users of a Catalyst application to remove their access to it permanently. This is done using the deleteUser() method. You must pass the UserID of the user as the parameter to this method as shown below. #### Sample Code Snippet <br> import com.zc.component.users.ZCUser; ZCUser.getInstance().deleteUser(1510000000109587l); //Pass the UserID of the user to be deleted --- ## SDK — Modular JavaScript SDK — Authentication -------------------------------------------------------------------------------- title: "Overview" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.980Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/overview/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/add-new-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/get-component-instance/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Authentication JavaScript SDK # Overview Authentication is a Catalyst CloudScale component that allows you to add end-users to your application in a secure manner. You will be able to customize aspects of your login elements, choose from three different types of authentication types, control end-user statuses, customize email templates, whitelist domains and enable CORS and iFrame access. The **Authentication JavaScript SDK** package enables you to perform user management operations like adding or removing end-users, prompting users to reset their passwords, getting user details, and implementing custom logic to authenticate end-users' access. ### Prerequisites You need to install the following package to use the Authentication SDK methods. npm install @zcatalyst/auth Info: Ensure that you have applied the required authentication configuration to use the SDK methods of this component. ### Import Requirement You will need to import the following module to use the Authentication SDK methods. const { UserManagement } = require('@zcatalyst/auth'); ### List of SDK Methods The following table contains the list of SDK methods that can be used to perform operations in Authentication through code. <table border="1" cellpadding="8" cellspacing="0"> <thead> <tr> <th>Category</th> <th>SDK Method</th> <th>Required Scope</th> </tr> </thead> <tbody> <tr> <td>General Operations</td> <td>Get Component Instance</td> <td>No requirement</td> </tr> <tr> <td>Authentication (User Management) Operations</td> <td> <ul> <li>Add New User</li> <li>Get All Org IDs</li> <li>Add New User to an Existing Organization</li> <li>Get All Users in an Organization</li> <li>Reset Password</li> <li>Get User Details</li> <li>Update User Details</li> <li>Enable or Disable a User</li> <li>Delete a User</li> </ul> </td> <td>Admin</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Get Component Instance" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.980Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-component-instance/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/add-new-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/get-component-instance/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Get Component Instance Note: Ensure you have installed the required package to use this SDK method. You can get the userManagement component reference as shown below. This will not fire a server-side call. You will refer to this component instance in various code snippets of working with Authentication. const userManagement = new UserManagement(); Note: - Passing an initialized app instance to a component determines the authentication scope it uses. - To perform an operation with user-level permissions, initialize the SDK with User scope, or with custom credentials, and pass that instance to the component. This runs the operation in the user's scope or custom credential scope instead of the default admin scope. const userManagement = new UserManagement(app); - If your Function or AppSail application needs both custom credentials and admin authentication at the same time, give each initialization a unique app name, otherwise the custom initialization can overwrite your existing admin credentials. - In all cases, explicitly pass the matching app instance to each component so it uses the intended authentication scope; if none is provided, the SDK defaults to the admin credentials. -------------------------------------------------------------------------------- title: "Add New User" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.981Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-new-user/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/add-new-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/add-new-user/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/user-signup/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/user-signup/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/user-signup/) - REST API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser.) -------------------------------------------------------------------------------- # Add New User Note: Ensure you have installed the required package to use this SDK method. You can add end users to your Catalyst serverless applications, fetch their details, or manage their accounts easily. When a user has signed up to a Catalyst application, unique identification values like ZUID and *User ID* are created for them. The user is also assigned to an organization automatically in this method. #### Create a JSON Configuration Before you add a new end-user to your Catalyst application, you must create a JSON object that contains the registration details of a particular user, such as their email address, last name, the application platform and the role they must be added to, as shown below. You can then pass the configuration to the user registration method. Notes: * You must provide the values for email_id and first_name, the mandatory parameters to register a user. * You can obtain the role_id from the Roles section in Authentication in the Catalyst console. //Create a JSON object for adding a new user const signupConfig = { platform_type: 'web', template_details: { senders_mail: 'dogogetu@tutuapp.bid', subject: 'Welcome to %APP_NAME% ', message: '&lt;p&gt;Hello ,&lt;/p&gt; &lt;p&gt;Follow this link to join in %APP_NAME% .&lt;/p&gt; &lt;p&gt; &lt;a href=\\\'%LINK%\\\'&gt;%LINK%&lt;/a&gt; &lt;/p&gt; &lt;p&gt;If you did not ask to join the application, you can ignore this email.&lt;/p&gt; &lt;p&gt;Thanks,&lt;/p&gt; &lt;p&gt;Your %APP_NAME% team&lt;/p&gt;' }, redirect_url: 'home.html' // The user will be directed to this page once they are authenticated. You can also provide mapped custom domains you configured as your invite URL. }; var userConfig = { first_name: 'Dannie', last_name: 'Boyle', email_id: 'p.boyle@zylker.com', role_id: '3376000000159024' }; ### SDK Method to Add a New User You can now add a new end-user to your Catalyst application by passing the JSON objects you created in the previous section as arguments to the registerUser() SDK method. The registerUser() method handles the user sign-up process and returns a promise. This promise will be resolved to a JSON object. The userManagement reference used in the code snippet below is the component instance. // Pass the JSON configuration to the method const userDetails = await userManagement.registerUser(signupConfig, userConfig); console.log(userDetails); #### Example of Expected Response { "zaid": "1005634498", "user_details": { "zuid": "1005641290", "zaaid": "1005641456", "org_id": "1005641456", "status": "ACTIVE", "is_confirmed": false, "email_id": "p.boylie@zylker.com", "first_name": "Dannie", "last_name": "Boyle", "created_time": "Aug 12, 2025 12:33 PM", "modified_time": "Aug 12, 2025 12:33 PM", "invited_time": "Aug 12, 2025 12:33 PM", "role_details": { "role_name": "App User", "role_id": "2305000000006024" }, "user_type": "App User", "user_id": "2305000000007752", "project_profiles": [] }, "redirect_url": "https://aliencity-66446133.development.catalystserverless.com/app/", "platform_type": "web", "org_id": null } -------------------------------------------------------------------------------- title: "Get All Org IDs" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.981Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-all-orgs/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/get-org-id/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/add-new-user-to-existing-org/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/data-store/insert-new-row/#InsertNewRow) -------------------------------------------------------------------------------- # Get All Org IDs Note: Ensure you have installed the required package to use this SDK method. **Org ID** or ZAAID is the unique identification of the organization that an end-user belongs to. This identification is generated when the end-user signs up to your application through any of the authentication types, gets added through the Add User API or through the Add User button in the console. You can use the getAllOrgs() SDK method to fetch all the Org IDs generated while adding new users to your application. The userManagement reference used in the code snippet below is the component instance. console.log('Orgs::::', await userManagement.getAllOrgs()); -------------------------------------------------------------------------------- title: "Add New User to an Existing Organization" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.981Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/add-user-to-org/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/add-new-user-to-existing-org/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/add-new-user-to-existing-org/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/user-signup/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/user-signup/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/user-signup/) - REST API (/en/api/code-reference/cloud-scale/authentication/add-user-to-existing-org/#AddaNewUsertoanExistingOrganization) -------------------------------------------------------------------------------- # Add New User to an Existing Organization Note: Ensure you have installed the required package to use this SDK method. You can add an end-user to an existing organization without creating a new organization for them. This can be done by providing the **OrgID** of the organization that the user must be added to. The organization of a user cannot be changed later, once it is associated with their account. When the user has signed up, unique identification values such as ZUID and User ID are created for them. Notes: * You must provide the values for the mandatory parameters, OrgID, email_id and first_name, to register a user. * You can also add end-users to your application by providing the role_id from the Roles section in Authentication in the Catalyst console. * When inviting a new user, you can configure the sender’s email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. #### Create a JSON Configuration Before you add a new end-user to your Catalyst application, you must create a JSON object that contains the registration details of a particular user as shown below. You can then pass the configuration to the user registration method. //Create a JSON object for adding a new user to an existing org const signupConfig = { platform_type: 'web', template_details: { senders_mail: 'dogogetu@tutuapp.bid', subject: 'Welcome to %APP_NAME% ', message: '&lt;p&gt;Hello ,&lt;/p&gt; &lt;p&gt;Follow this link to join in %APP_NAME% .&lt;/p&gt; &lt;p&gt;&lt;a href=\'%LINK%\'&gt;%LINK%&lt;/a&gt;&lt;/p&gt; &lt;p&gt;If you didn\'t ask to join the application, you can ignore this email.&lt;/p&gt; &lt;p&gt;Thanks,&lt;/p&gt; &lt;p&gt;Your %APP_NAME% team&lt;/p&gt;' } }; var userConfig = { first_name: 'Amelia', last_name: 'Burrows', email_id: 'emma@zylker.com', org_id: 10014774358 }; ### SDK Method to Add to Existing Org You can now add a new end-user to an existing organization by passing the JSON objects you created in the previous section as arguments to the addUserToOrg() SDK method. This method handles the user sign-up process and returns a promise. This promise will be resolved to a JSON object. The userManagement reference used in the code snippet below is the component instance. //Pass the JSON configurations to the method const addedUser = await userManagement.addUserToOrg(signupConfig, userConfig); console.log(addedUser); #### Example of Expected Response { "zaid": "1005634498", "user_details": { "zuid": "1005643749", "org_id": "10014774358", "status": "ACTIVE", "is_confirmed": false, "email_id": "emma@zylker.com", "first_name": "Amelia", "last_name": "Burrows", "created_time": "Aug 12, 2021 03:56 PM", "modified_time": "Aug 12, 2021 03:56 PM", "invited_time": "Aug 12, 2021 03:56 PM", "role_details": { "role_name": "App User", "role_id": "2305000000006024" }, "user_type": "App User", "user_id": "2305000000009002", "project_profiles": [] }, "redirect_url": "https://aliencity-66446133.development.catalystserverless.com/app/", "platform_type": "web", "org_id": null } -------------------------------------------------------------------------------- title: "Get All Users in an Organization" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.982Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-all-users-org/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/get-users-in-org/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/get-user-details/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/get-current-user/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/get-current-user/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/get-current-user/) - REST API (/en/api/code-reference/cloud-scale/authentication/get-all-users/#GetAllUsers) -------------------------------------------------------------------------------- # Get All Users in an Organization Note: Ensure you have installed the required package to use this SDK method. You can pass the **OrgID** to the getAllUsers() SDK method to fetch all the users added to the application from that organization. The userManagement reference used in the code snippet below is the component instance. userManagement.getAllUsers('10062701096'); // Enter your Org ID here -------------------------------------------------------------------------------- title: "Reset Password" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.982Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/reset-pwd/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/reset-password/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/reset-password/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/authentication/reset-user-password/#ResetUserPassword) -------------------------------------------------------------------------------- # Reset Password Note: Ensure you have installed the required package to use this SDK method. After the successful registration of a user, you can prompt the end-user to reset their password using the following code snippet. Notes: * EmailID and Platform type are the mandatory attributes. * When inviting a new user, you can configure the sender’s email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. #### Create a JSON Configuration You need to configure the JSON object to contain the registering the details of a particular user in the manner shown below: //Create Config Object for the user const signupConfig={ platform_type:'web', zaid:10014774358, template_details:{ senders_mail:'dogogetu@tutuapp.bid', subject:'Welcome to %APP_NAME% ', message:'&lt;p&gt;Hello ,&lt;/p&gt; &lt;p&gt;Follow this link to join in %APP_NAME% .&lt;/p&gt; &lt;p&gt;&lt;a href=\'%LINK%\'&gt;%LINK%&lt;/a&gt;&lt;/p&gt; &lt;p&gt;If you didn’t ask to join the application, you can ignore this email.&lt;/p&gt; &lt;p&gt;Thanks,&lt;/p&gt; &lt;p&gt;Your %APP_NAME% team&lt;/p&gt;' } }; var userConfig={ first_name:'A', last_name:'B', email_id:'amelia.burrows@zylker.com' }; ### SDK Method to Reset the Password You need to pass the JSON object as argument to the registerUser() SDK method which returns a promise. The promise returned will be resolved to an object which is a JSON. While calling the registerUser() SDK method, a reset password link will be generated and sent to the user’s Email address. The userManagement reference used in the code snippet below is the component instance. const users=await userManagement.resetPassword('amelia.b@zylker.com',{ platform_type:'web', redirect_url:'https://www.google.com', template_details:{ subject:'Reset Password', message:'Click on the link to reset your password: Reset Password', senders_mail:'support@zylker.com' } }); console.log(users); -------------------------------------------------------------------------------- title: "Get User Details" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.982Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/get-user-details/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/get-user-details/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/get-user-details/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/get-current-user/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/get-current-user/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/get-current-user/) - REST API (/en/api/code-reference/cloud-scale/authentication/get-all-users/#GetAllUsers) -------------------------------------------------------------------------------- # Get User Details Note: Ensure you have installed the required package to use this SDK method. Catalyst Authentication provides SDK methods to retrieve the details of the application users. You can obtain the user information of the current user, any user, or all users of the application. ### Get Details of Current User The method getCurrentUser() fetches the details of a user on whose scope the function is getting executed. The userManagement reference used in the code snippet below is the component instance. The promise returned here will be resolved to a JSON object. // get the details of the current user const currentUser = await userManagement.getCurrentUser(); console.log(currentUser); #### Example of Expected Response { "zuid":"1005641433", "zaaid":"1005641434", "org_id":"1005641434", "status":"ACTIVE", "is_confirmed":false, "email_id":"p.boyle@zylker.com", "last_name":"Boyle", "created_time":"Aug 12, 2021 12:27 PM", "role_details":{ "role_name":"App User", "role_id":"2305000000006024" }, "user_type":"App User", "user_id":"2305000000007745", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[] } ### Get User Details Using User ID You can retrieve the details of a particular user by passing the User ID of the user to the getUserDetails() SDK method. The promise is resolved to a JSON object. The userManagement reference used in the code snippet below is the component instance. const userDetails = await userManagement.getUserDetails(1510000000109587); console.log(userDetails); #### Example of Expected Response A sample response that you will receive for each version is shown below: { "zuid":"1005665160", "zaaid":"1005665245", "org_id":"1005665245", "status":"ACTIVE", "is_confirmed":false, "email_id":"mikerogers@zylker.com", "last_name":"Rogers", "created_time":"Aug 17, 2021 04:55 PM", "role_details":{ "role_name":"App User", "role_id":"2136000000007748" }, "user_type":"App User", "user_id":"2136000000020040", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[] } ### Get Details of All Users The getAllUsers() SDK method can fetch the details of all the users who are registered with the application. The promise returned here will be resolved to an array of objects which contains all user details. const allUserDetails = await userManagement.getAllUsers(); console.log(allUserDetails); #### Example of Expected Response A sample response that you will receive for each version is shown below: [ { zuid: "1005648252", zaaid: "1005648253", org_id: "1005648253", status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", created_time: "Aug 13, 2021 01:36 PM", modified_time: "Aug 13, 2021 01:36 PM", invited_time: "Aug 13, 2021 01:36 PM", role_details: { role_name: "App User", role_id: "2136000000007748" }, user_type: "App User", user_id: "2136000000007774", locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] }, { zuid: "1005665160", zaaid: "1005665245", org_id: "1005665245", status: "ACTIVE", is_confirmed: false, email_id: "rsmith@zylker.com ", last_name: "Smith", created_time: "Aug 17, 2021 04:55 PM", modified_time: "Aug 17, 2021 04:55 PM", invited_time: "Aug 17, 2021 04:55 PM", role_details: { role_name: "App User", role_id: "2136000000007748" }, user_type: "App User", user_id: "2136000000020040", locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } ] -------------------------------------------------------------------------------- title: "Update User Details" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.982Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/update-user-details/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/update-user-details/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/update-user-details/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/get-current-user/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/get-current-user/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/get-current-user/) - REST API (/en/api/code-reference/cloud-scale/authentication/get-all-users/#GetAllUsers) -------------------------------------------------------------------------------- # Update User Details Note: Ensure you have installed the required package to use this SDK method. Catalyst allows you to modify and update the following details of an end-user: * First Name * Last Name * ZAAID * RoleID: Role ID is the value generated by Catalyst that is assigned to a particular user role. The SDK snippet below demonstrates updating an end-user’s details using the updateUserDetails(userID, userDetails) method. The first name of the user is updated in the example below. The userManagement reference used in the code snippet below is the component instance. userManagement.updateUserDetails('13749831', { email_id: 'emma@zylker.com', last_name: 'Burrows', zaaid: '1483013413294234', role_id: '843974989234859', first_name: 'Amelia' }); -------------------------------------------------------------------------------- title: "Enable or Disable a User" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.983Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/enable-disable-user/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/enable-disable-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/enable-disable-user/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/authentication/sign-out-user/#SignOutUser) -------------------------------------------------------------------------------- # Enable or Disable a User Note: Ensure you have installed the required package to use this SDK method. Catalyst allows you to disable or enable a user at any time. A disabled user will be signed up to your application but will not be able to access your application. You can enable or disable an end-user using the updateUserStatus(userId, USER_STATUS) method. The user is referred by their unique User ID. You can find the User IDs of all users by navigating to the *Users* > *User Management* section of the Authentication component. The userManagement reference used in the code snippet below is the component instance. ### To Enable a User userManagement.updateUserStatus('195000000042777', USER_STATUS.ENABLE) ### To Disable a User userManagement.updateUserStatus('195000000042777', USER_STATUS.DISABLE) -------------------------------------------------------------------------------- title: "Delete a User" description: "This page describes the method to perform operations in the Authentication component." last_updated: "2026-09-09T11:06:25.983Z" source: "https://docs.catalyst.zoho.com/en/sdk/javascript/v1/cloudscale/authentication/delete-user/" service: "CloudScale" related: - Catalyst CloudScale (/en/cloud-scale/) - Authentication Help (/en/cloud-scale/help/authentication/introduction/) - Java SDK (/en/sdk/java/v1/cloud-scale/authentication/delete-user/) - Python SDK (/en/sdk/python/v1/cloud-scale/authentication/delete-user/) - iOS SDK (/en/sdk/ios/v2/cloud-scale/authentication/create-user-instance/) - Android SDK (/en/sdk/android/v2/cloud-scale/authentication/create-user-instance/) - Flutter SDK (/en/sdk/flutter/v2/cloud-scale/authentication/create-user-instance/) - REST API (/en/api/code-reference/cloud-scale/authentication/delete-user/#DeleteUser) -------------------------------------------------------------------------------- # Delete a User Note: Ensure you have installed the required package to use this SDK method. The end-user of a Catalyst application can be deleted to discontinue accessing the application. This is done through deleteUser() method, in which the **User ID** of the user who is to be deleted is passed as a parameter. The promise returned here will be resolved to an object which is a JSON. The userManagement reference used in the code snippet below is the component instance. const deletedUser = await userManagement.deleteUser(1510000000109587); console.log(deletedUser); --- ## SDK — Node JS — Authentication -------------------------------------------------------------------------------- title: "Get Authentication Instance" description: "This page describes the method to create a component instance in your NodeJS application with sample code snippets.." last_updated: "2026-09-09T11:06:25.984Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/get-component-instance/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Authentication Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Catalyst Authentication features in Node.js SDK enable you to add end-users to your Catalyst serverless applications, fetch user details, manage their passwords, or delete them permanently. You can perform additional configurations on user accounts and roles, and manage the authentication of your application from the remote console. ### Get a Component Instance You can create a userManagement component reference as shown below. This will not fire a server-side call. We will refer to this component instance in various code snippets of working with Authentication. //Get a UserManagement Instance let userManagement = app.userManagement(); -------------------------------------------------------------------------------- title: "Add New User" description: "This page describes the method to add new end-users to your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.984Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/add-new-user/" service: "Cloud Scale" related: - Add new user - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Add New User Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. You can add end users to your Catalyst serverless applications, fetch their details, or manage their accounts easily. When a user has signed up to a Catalyst application, unique identification values like ZUID and User ID are created for them. The user is also assigned to an organization automatically in this method. #### Create a JSON Configuration Before you add a new end-user to your Catalyst application, you must create a JSON object that contains the registration details of a particular user, such as their email address, last name, the application platform and the role they must be added to, as shown below. You can then pass the configuration to the user registration method. Note: * You must provide the values for email_id and first_name to register a user mandatorily. * You can obtain the role_id from the _Roles_ section in _Authentication_ in the Catalyst console. //Create a JSON object for adding a new user const signupConfig = { platform_type: 'web', template_details: { senders_mail:'dogogetu@tutuapp.bid', subject:'Welcome to %APP_NAME% ', message:'&lt;p&gt;Hello ,&lt;/p&gt; &lt;p&gt;Follow this link to join in %APP_NAME% .&lt;/p&gt; &lt;p&gt; &lt;a href=\'%LINK%\'&gt;%LINK%&lt;/a&gt; &lt;/p&gt; &lt;p&gt;If you did not ask to join the application, you can ignore this email.&lt;/p&gt; &lt;p&gt;Thanks,&lt;/p&gt; &lt;p&gt;Your %APP_NAME% team&lt;/p&gt;' }, redirect_url: 'home.html' // The user will be directed to this page once they are authenticated. You can also provide mapped custom domains you configured as your invite URL. }; var userConfig = { first_name: 'Dannie', last_name: 'Boyle', email_id: 'p.boyle@zylker.com', role_id : '3376000000159024' }; ### Add a New User You can now add a new end-user to your Catalyst application using the code below. You must pass the JSON objects you created in the previous section as arguments to the registerUser() method. The registerUser() method handles the user sign-up process and returns a promise. This promise will be resolved to a JSON object. The userManagement reference used below is defined in the component instance page. Note : You will be able to add only 25 users in your application in the development environment. After you deploy your application to production, you can include any number of end-users in it. let userManagement = app.userManagement(); let registerPromise = userManagement.registerUser(signupConfig, userConfig); //Pass the JSON configration to the method registerPromise.then(userDetails =&gt; { //Returns a promise console.log(userDetails); }); A sample response that you will receive for each version is shown below: { zaid: "1005634498", user_details: { zuid: "1005641290", zaaid: "1005641456", org_id: "1005641456", status: "ACTIVE", is_confirmed: false, email_id: "p.boylie@zylker.com", first_name: "Dannie", last_name: "Boyle", created_time: "Aug 12, 2021 12:33 PM", modified_time: "Aug 12, 2021 12:33 PM", invited_time: "Aug 12, 2021 12:33 PM", role_details: { role_name: "App User", role_id: "2305000000006024" }, user_type: "App User", user_id: "2305000000007752", project_profiles: [] }, redirect_url: "https://aliencity-66446133.development.catalystserverless.com/app/", platform_type: "web", org_id: null } { zaid: 1005634498, user_details: { zuid: 1005641433, zaaid: 1005641434, org_id: 1005641434, status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", first_name: "Dannie", created_time: "Aug 12, 2021 12:27 PM", modified_time: "Aug 12, 2021 12:27 PM", invited_time: "Aug 12, 2021 12:27 PM", role_details: { role_name: "App User", role_id: 2305000000006024 }, user_type: "App User", user_id: 2305000000007745, project_profiles: [] }, redirect_url: "https://aliencity-66446133.development.catalystserverless.com/app/", platform_type: "web", org_id: null } -------------------------------------------------------------------------------- title: "Get All Org IDs" description: "This page describes the method to add get all the Org IDs associated with the users signed to your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.984Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/get-org-id/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - User Management (/en/cloud-scale/help/authentication/user-management/users/introduction/) -------------------------------------------------------------------------------- # Get All Org IDs Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Org ID or ZAAID is the unique identification of the organization that an end-user belongs to. This identification is generated when the end-user signs up to your application through any of the authentication types, gets added through the Add User API or through the Add User button in the console. The SDK snippet below demonstrates fetching all the Org IDs generated while adding new users to your application using the getAllOrgs() method: const userManagement = app.userManagement(); userManagement.getAllOrgs() -------------------------------------------------------------------------------- title: "Add User to Existing Org" description: "This page describes the method to add a new user to the existing organisation in your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.984Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/add-new-user-to-existing-org/" service: "Cloud Scale" related: - Add new user to existing org - API (/en/api/code-reference/cloud-scale/authentication/add-user-to-existing-org/#AddaNewUsertoanExistingOrganization) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Add New User to an Existing Organization Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. You can add an end-user to an existing organization without creating a new organization for them. This can be done by providing the **OrgID** of the organization that the user must be added to. The organization of a user cannot be changed later, once it is associated with their account. When the user has signed up, unique identification values such as ZUID and User ID are created for them. * You must provide the values for OrgID, email_id, first_name mandatorily to add a user to an existing organization. * You can also add them to a role by providing the role_id, which you can obtain from the Roles section in Authentication in the Catalyst console. * When inviting a new user, you can configure the sender's email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. ### Create a JSON Configuration Before you add a new end-user to your Catalyst application, you must create a JSON object that contains the registration details of a particular user as shown below. You can then pass the configuration to the user registration method. //Create a JSON object for adding a new user to an existing org const signupConfig = { platform_type: 'web', template_details: { 'senders_mail':'dogogetu@tutuapp.bid', 'subject':'Welcome to %APP_NAME% ', 'message':'&lt;p&gt;Hello ,&lt;/p&gt; &lt;p&gt;Follow this link to join in %APP_NAME% .&lt;/p&gt; &lt;p&gt;&lt;a href=\'%LINK%\'&gt;%LINK%&lt;/a&gt;&lt;/p&gt; &lt;p&gt;If you didn’t ask to join the application, you can ignore this email.&lt;/p&gt; &lt;p&gt;Thanks,&lt;/p&gt; &lt;p&gt;Your %APP_NAME% team&lt;/p&gt;' }}; var userConfig = { first_name: 'Amelia', last_name: 'Burrows', email_id: 'emma@zylker.com', org_id: 10014774358 }; ### Add a New User to Existing Org You can now add a new end-user to an existing organization using the code below. You must pass the JSON objects you created in the previous section as arguments to the addUserToOrg() method. This method handles the user sign-up process and returns a promise. This promise will be resolved to a JSON object. The userManagement reference used in the code is the component instance created earlier. You will be able to add only 25 users in your application in the development environment. After you deploy your application to production, you can include any number of end-users in it. let userManagement = app.userManagement(); let addUserPromise = userManagement.addUserToOrg(signupConfig, userConfig); //Pass the JSON configurations to the method addUserPromise.then(addedUser => { //Returns a promise console.log(addedUser); }); A sample response that you will receive for each version is shown below: { zaid: "1005634498", user_details: { zuid: "1005643749", org_id: "10014774358", status: "ACTIVE", is_confirmed: false, email_id: "emma@zylker.com", first_name: "Amelia", last_name: "Burrows", created_time: "Aug 12, 2021 03:56 PM", modified_time: "Aug 12, 2021 03:56 PM", invited_time: "Aug 12, 2021 03:56 PM", role_details: { role_name: "App User", role_id: "2305000000006024" }, user_type: "App User", user_id: "2305000000009002", project_profiles: [] }, redirect_url: "https://aliencity-66446133.development.catalystserverless.com/app/", platform_type: "web", org_id: null } { zaid: 1005634498, user_details: { zuid: 1005643930, org_id: "10014774358", status: "ACTIVE", is_confirmed: false, email_id: "emma@zylker.com", first_name: "Amelia", last_name: "Burrows", created_time: "Aug 12, 2021 04:05 PM", modified_time: "Aug 12, 2021 04:05 PM", invited_time: "Aug 12, 2021 04:05 PM", role_details: { role_name: "App User", role_id: 2305000000006024 }, user_type: "App User", user_id: 2305000000009004, project_profiles: [] }, redirect_url: "https://aliencity-66446133.development.catalystserverless.com/app/", platform_type: "web", org_id: null } -------------------------------------------------------------------------------- title: "Get All Users in an Organization" description: "This page describes the method to add a new user to the existing organisation in your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.985Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/get-users-in-org/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - User Management (/en/cloud-scale/help/authentication/user-management/users/introduction/) -------------------------------------------------------------------------------- # Get All Users in an Organization Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. The SDK snippet below demonstrates fetching the list of all users assigned to an organization using the getAllUsers(Org ID) method. const userManagement = app.userManagement(); userManagement.getAllUsers('10062701096'); // Enter your Org ID here -------------------------------------------------------------------------------- title: "Reset Password" description: "This page describes the method to reset the password of a user account in your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.985Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/reset-password/" service: "Cloud Scale" related: - Reset password - API (/en/api/code-reference/cloud-scale/authentication/reset-user-password/#ResetUserPassword) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Reset Password Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. After the successful registration of a user, you can reset the password using the following code snippet. While calling the resetPassword() method, a reset password link will be generated and sent to the user's Email address. The userManagement reference used in the below code snippet is the component instance. Note: * **EmailID** and **Platform type** are the mandatory attributes. * You can configure the sender's email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. ### Create a Configuration JSON JSON objects containing the registration details of a particular user is created as given below, //Create Config Object for the user const signupConfig = { platform_type: 'web', zaid: 10014774358, template_details: { 'senders_mail':'dogogetu@tutuapp.bid', 'subject':'Welcome to %APP_NAME% ', 'message':'&lt;p&gt;Hello ,&lt;/p&gt; &lt;p&gt;Follow this link to join in %APP_NAME% .&lt;/p&gt; &lt;p&gt;&lt;a href=\'%LINK%\'&gt;%LINK%&lt;/a&gt;&lt;/p&gt; &lt;p&gt;If you didn’t ask to join the application, you can ignore this email.&lt;/p&gt; &lt;p&gt;Thanks,&lt;/p&gt; &lt;p&gt;Your %APP_NAME% team&lt;/p&gt;' } }; var userConfig = { first_name: 'A', last_name: 'B', email_id: 'amelia.burrows@zylker.com' }; ### Reset the Password These objects are passed as arguments to the registerUser() method which returns a promise. The promise returned will be resolved to an object which is a JSON. const userManagement = app.userManagement(); let users = await userManagement.resetPassword('amelia.b@zylker.com', { 'platform_type': 'web', 'redirect_url': 'https://www.google.com', 'template_details': { 'subject': 'Reset Password', 'message': 'Click on the link to reset your password: <a href="{{reset_password_url}}">Reset Password</a>', 'senders_mail': 'support@zylker.com' } }); console.log(users); -------------------------------------------------------------------------------- title: "Generate a Custom Server Token" description: "This page describes the method to delete users from your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.985Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/third-party-server-token/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Generate a Custom Server Token Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Cloud Scale's Authentication component allows you to implement a third-party authentication service of your preference for your Catalyst application. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Note: * Since you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. * To enable a third-party authentication in your Catalyst application, you must ensure that you have enabled Public Signup in the console. When a user is re-directed from a third-party service after being authenticated, their credentials must be passed to an authentication function that you code. This function must include the Catalyst server-side script to generate a custom server token, which will then be passed to the Web SDK incorporated in the client code. const userManagement = catalystApp.userManagement(); userManagement.generateCustomToken({ type:'web', user_details:{ email_id: "${email_id}", first_name: "${first_name}", last_name: "${last_name}", org_id: "${org_id}", phone_number: "${phone_number}", country_code: "${country_code}", role_name: "${role_name}" } }); You can now pass this token to the client logic as explained in this Web SDK help page. Note : The custom server token will have to be generated every single time the user logs in to your application using a third-party authentication service. -------------------------------------------------------------------------------- title: "Custom User Validation" description: "This page describes the method to delete users from your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.985Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/custom-user-validation/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Custom User Validation Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Catalyst Authentication allows you to authorize and validate your end-users using a custom Basic I/O function on the event of a sign-up to your Catalyst application. You can write your own logic and process the credentials that the user provides through this function, and grant access to your application. A sample code for a Custom User Validation function is given below. const catalyst = require('zcatalyst-sdk-node'); module.exports = (context, basicIO) => { const catalystApp = catalyst.initialize(context); const userManagement = catalystApp.userManagement(); const requestDetails = userManagement.getSignupValidationRequest(basicIO); if (requestDetails!==undefined) { if (requestDetails.user_details.email_id.includes('zylker.com')) { basicIO.write(JSON.stringify({ status: 'failure' })) } else { basicIO.write(JSON.stringify({ status: 'success', user_details: { first_name : 'CustomFirstName', last_name : 'CustomLastName', role_identifier : 'CustomRole', org_id : 'CustomOrgID'//If you are providing the Org ID, make sure it is copied exactly from the console. } })) } } context.close(); } To test this function, you can pass the details of the user in the following .JSON format: { "request_type": "add_user", "request_details": { "user_details": { "email_id": "emmy@zylker.com", "first_name": "Emma", "last_name": "Thompson", "org_id": "432567817", "role_details": { "role_name": "Moderator", "role_id": "879" } }, "auth_type": "web" } } -------------------------------------------------------------------------------- title: "Get User Details" description: "This page describes the method to fetch user details from the Data Store in your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.985Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/get-user-details/" service: "Cloud Scale" related: - Get user details - API (/en/api/code-reference/cloud-scale/authentication/get-specific-user/#GetSpecificUser) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Get User Details Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Catalyst Authentication provides some methods to retrieve the details of the application users. You can obtain the user information of the current user, any user, or all users of the application. ### Get Details of Current User The method getCurrentUser() fetches the details of a user on whose scope the function is getting executed. The userManagement reference used in the code snippets is the component instance created earlier. The promise returned here will be resolved to a JSON object. // get the details of the current user as a promise let userManagement = app.userManagement(); let userPromise = userManagement.getCurrentUser(); userPromise.then(currentUser => { console.log(currentUser); }); A sample response that you will receive for each version is shown below: { zuid: "1005641433", zaaid: "1005641434", org_id: "1005641434", status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", created_time: "Aug 12, 2021 12:27 PM", role_details: { role_name: "App User", role_id: "2305000000006024" }, user_type: "App User", user_id: "2305000000007745", locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } { zuid: 1005641433, zaaid: 1005641434, org_id: 1005641434, status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", created_time: "Aug 12, 2021 12:27 PM", role_details: { role_name: "App User", role_id: 2305000000006024 }, user_type: "App User", user_id: 2305000000007745, locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } ### Get User Details by User ID You can retrieve the details of a particular user by passing the User ID of the user to the getUserDetails() method. The promise is resolved to a JSON object. //Get a single user's details by passing the user ID let userManagement = app.userManagement(); let userPromise = userManagement.getUserDetails(1510000000109587); userPromise.then(userDetails => { console.log(userDetails); }); A sample response that you will receive for each version is shown below: { zuid: "1005665160", zaaid: "1005665245", org_id: "1005665245", status: "ACTIVE", is_confirmed: false, email_id: "mikerogers@zylker.com ", last_name: "Rogers", created_time: "Aug 17, 2021 04:55 PM", role_details: { role_name: "App User", role_id: "2136000000007748" }, user_type: "App User", user_id: "2136000000020040", locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } { zuid: 1005665160, zaaid: 1005665245, org_id: 1005665245, status: "ACTIVE", is_confirmed: false, email_id: "mikerogers@zylker.com", last_name: "Rogers", created_time: "Aug 17, 2021 04:55 PM", role_details: { role_name: "App User", role_id: 2136000000007748 }, user_type: "App User", user_id: 2136000000020040, locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } ### Get Details of All Users The getAllUsers() method can fetch the details of all the users who are registered with the application. The promise returned here will be resolved to an array of objects which contains all user details. //Get details of all users let userManagement = app.userManagement(); let allUserPromise = userManagement.getAllUsers(); allUserPromise.then(allUserDetails => { console.log(allUserDetails); }); A sample response that you will receive for each version is shown below: [ { zuid: "1005648252", zaaid: "1005648253", org_id: "1005648253", status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", created_time: "Aug 13, 2021 01:36 PM", modified_time: "Aug 13, 2021 01:36 PM", invited_time: "Aug 13, 2021 01:36 PM", role_details: { role_name: "App User", role_id: "2136000000007748" }, user_type: "App User", user_id: "2136000000007774", locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] }, { zuid: "1005665160", zaaid: "1005665245", org_id: "1005665245", status: "ACTIVE", is_confirmed: false, email_id: "rsmith@zylker.com ", last_name: "Smith", created_time: "Aug 17, 2021 04:55 PM", modified_time: "Aug 17, 2021 04:55 PM", invited_time: "Aug 17, 2021 04:55 PM", role_details: { role_name: "App User", role_id: "2136000000007748" }, user_type: "App User", user_id: "2136000000020040", locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } ] [ { zuid: 1005648252, zaaid: 1005648253, org_id: 1005648253, status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", created_time: "Aug 13, 2021 01:36 PM", modified_time: "Aug 13, 2021 01:36 PM", invited_time: "Aug 13, 2021 01:36 PM", role_details: { role_name: "App User", role_id: 2136000000007748 }, user_type: "App User", user_id: 2136000000007774, locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] }, { zuid: 1005665160, zaaid: 1005665245, org_id: 1005665245, status: "ACTIVE", is_confirmed: false, email_id: "rsmith@zylker.com", last_name: "Smith", created_time: "Aug 17, 2021 04:55 PM", modified_time: "Aug 17, 2021 04:55 PM", invited_time: "Aug 17, 2021 04:55 PM", role_details: { role_name: "App User", role_id: 2136000000007748 }, user_type: "App User", user_id: 2136000000020040, locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } ] -------------------------------------------------------------------------------- title: "Update User Details" description: "This page describes the method to update an end-users details in your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.986Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/update-user-details/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Modify a User's Details in the Console (/en/cloud-scale/help/authentication/user-management/users/implementation/#modify-a-users-details) -------------------------------------------------------------------------------- # Update User Details Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Catalyst allows you to modify and update the following details of an end-user: * First Name * Last name * **ZAAID**: **ZAAID** or Org ID, is a unique value that is generated by Catalyst to associate with an organization. * RoleID: Role ID is the value generated by Catalyst that is assigned to a particular user role. The SDK snippet below demonstrates updating an end-user’s details using the updateUserDetails(userID, userDetails) method. The first name of the user is updated in the example below. const userManagement = app.userManagement(); userManagement.updateUserDetails('13749831', { email_id: 'emma@zylker.com', last_name: 'Burrows', zaaid: '1483013413294234', role_id: '843974989234859', first_name: 'Amelia' }); <br /> -------------------------------------------------------------------------------- title: "Enable or Disable a User" description: "This page describes the method to enable or disable a user in your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.986Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/enable-disable-user/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) - Enable or Disable a User in the Console (/en/cloud-scale/help/authentication/user-management/users/implementation/#enable-or-disable-a-user) -------------------------------------------------------------------------------- # Enable or Disable a User Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Catalyst allows you to disable or enable a user at any time. A disabled user will be signed up to your application but will not be able to access your application. The SDK snippet below demonstrates enabling and disabling an end-user using the updateUserStatus(userId, USER_STATUS) method. The user is referred by their unique User ID. You can find the User IDs of all users by navigating to the *Users* > *User Management* section of the Authentication component. ### To Enable a User const userManagement = app.userManagement(); userManagement.updateUserStatus('195000000042777', USER_STATUS.ENABLE) ### To Disable a User const userManagement = app.userManagement(); userManagement.updateUserStatus('195000000042777', USER_STATUS.DISABLE) <br /> -------------------------------------------------------------------------------- title: "Delete a User" description: "This page describes the method to delete users from your NodeJS application with sample code snippets." last_updated: "2026-09-09T11:06:25.986Z" source: "https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/authentication/delete-user/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Delete a User Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. The end-user of a Catalyst application can be deleted to discontinue accessing the application. This is done through deleteUser() method, in which the User ID of the user who is to be deleted is passed as a parameter. The promise returned here will be resolved to an object which is a JSON. //Delete a single user by passing the user ID which in turn returns a promise let userManagement = app.userManagement(); let deleteUserPromise = userManagement.deleteUser(1510000000109587); deleteUserPromise.then(deletedUser => { console.log(deleteUserPromise); }); --- ## SDK — Python — Authentication -------------------------------------------------------------------------------- title: "Get Authentication Instance" description: "This page describes the method to create a component instance in your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.987Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/get-component-instance/" service: "Cloud Scale" related: - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Authentication Catalyst Cloud Scale Authentication features in Python SDK help you perform user authentication-specific operations, such as adding a new user, fetching details of the current user or all users, resetting the password of an existing user account, and deleting a user. ### Get a Component Instance A component instance is an object that can be used to access the predefined configurations specific to a particular component. You can create a component instance for Authentication to execute various user management actions, which will not fire a server-side call. The app reference used in the code below is the Python object returned as a response during SDK initialization. You can create a new authentication_serviceinstance as shown below : #Get Authentication component instance authentication_service = app.authentication() This component instance will be used as shown in the various Authentication sections of the Python SDK documentation. -------------------------------------------------------------------------------- title: "Add New User" description: "This page describes the method to add new end-users to your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.987Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/add-new-user/" service: "Cloud Scale" related: - Add New User - API (/en/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser) - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Add New User You can add end-users to your Catalyst application and they will be assigned to a default organization automatically, if the organization is not specified explicitly. When the user is added, a unique user_ID and ZUID are generated for them by Catalyst. #### Create a Dictionary Before you add a new user to the Catalyst application, you must create a dictionary that contains the user details such as the last name of the user, the role they have to be assigned to, their email address, the application platform and the ZAID data based on the current working environment. The dictionary that contains these details will be passed as a parameter to the register_user() method. Note : * You must provide the values for email_id and first_name to register a user mandatorily. * You can obtain the role_id from the _Roles_ section in _Authentication_ in the Catalyst console. * You can obtain the ZAID from the Environment settings in your Catalyst console. * When inviting a new user, you can configure the sender's email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. #Create a dictionary signup_config = { "platform_type": "web", "zaid": "81008807534807534", "template_details": { "senders_mail": "dogogetu@tutuapp.bid", "subject": "Welcome to %APP_NAME%", "message": "&lt;p&gt;Hello ,&lt;/p&gt; &lt;p&gt;Follow this link to join in %APP_NAME% .&lt;/p&gt; &lt;p&gt;&lt;a href='%LINK%'&gt;%LINK%&lt;/a&gt;&lt;/p&gt; &lt;p&gt;If you didn’t ask to join the application, you can ignore this email.&lt;/p&gt; &lt;p&gt;Thanks,&lt;/p&gt; &lt;p&gt;Your %APP_NAME% team&lt;/p&gt;", }, } user_details = { "first_name": "Amelia", "last_name": "Burrows", "role_id": "1008807534", "email_id": "amelia.burrows@zylker.com", } ### Add New User After you have configured the necessary user information in the dictionary, you can proceed to add a new user to an organization. In this case, an organization will automatically be assigned to the user. The register_user() method handles the user creation process and returns a response. To know more about the component instance authentication_service used below, please refer to this section. Note : You will only be able to add 25 users in your application in the development environment. After you deploy your application to production, you can include any number of end-users in it. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>signup_config</td> <td>Object</td> <td>A Mandatory parameter. Will store the user registration details, including the application platform, ZAID, and the email information to be sent after registration.</td> </tr> <tr> <td>user_details</td> <td>Object</td> <td>A Mandatory parameter. Will hold the user registration details such as first name, last name, email ID and the ID of the organization to which the user has to be added.</td> </tr> </tbody> </table> #Add a new user authentication_service = app.authentication() response_data = authentication_service.register_user(signup_config, user_details) A sample response is shown below : { "zaid":"81008807534807534", "user_details":{ "zuid":"1005641290", "org_id":"1005641456", "status":"ACTIVE", "is_confirmed":false, "email_id":"amelia.burrows@zylker.com", "first_name":"Amelia", "last_name":"Burrows", "created_time":"Aug 12, 2021 12:33 PM", "modified_time":"Aug 12, 2021 12:33 PM", "invited_time":"Aug 12, 2021 12:33 PM", "role_details":{ "role_name":"App User", "role_id":"2305000000006024" }, "user_type":"App User", "user_id":"2305000000007752", "project_profiles":[ ] }, "redirect_url":"https://aliencity-66446133.development.catalystserverless.com/app/", "platform_type":"web", "org_id":"1005641456" } Info : Refer to the SDK Scopes table to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Add New User to Existing Org" description: "This page describes the method to add a new user to the existing organisation in your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.987Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/add-new-user-to-existing-org/" service: "Cloud Scale" related: - Add New User to Existing Org - API (/en/api/code-reference/cloud-scale/authentication/add-user-to-existing-org/#AddaNewUsertoanExistingOrganization) - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Add a New User to an Existing Organization You can add an end-user to an existing organization without creating a new organization for them. This can be done by providing the **OrgID** of the organization that the user must be added to. When the user has signed up, unique identification values such as ZUID and User ID are created for them by Catalyst. Note : * You must provide the values for org_id, email_id, last_name mandatorily to add a user to an existing organization. * You can obtain the ZAID from the Environment settings in your Catalyst console. * You can also add them to a role by providing the role_id, which you can obtain from the Roles section in Authentication in the Catalyst console. * When inviting a new user, you can configure the sender's email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. ## Create a Dictionary Before you add a new end-user to your Catalyst application, you must create a dictionary that contains the registration details of the particular user, as shown below. You can then pass the configured dictionary to the method that handles the user signup process. #Create a dictionary signup_config = { "platform_type": "web", "zaid": "1008807534", "template_details": { "senders_mail": "dogogetu@tutuapp.bid", "subject": "Welcome to %APP_NAME%", "message": "&lt;p&gt;Hello ,&lt;/p&gt; &lt;p&gt;Follow this link to join in %APP_NAME% .&lt;/p&gt; &lt;p&gt;&lt;a href='%LINK%'&gt;%LINK%&lt;/a&gt;&lt;/p&gt; &lt;p&gt;If you didn’t ask to join the application, you can ignore this email.&lt;/p&gt; &lt;p&gt;Thanks,&lt;/p&gt; &lt;p&gt;Your %APP_NAME% team&lt;/p&gt;", }, } user_details = { "first_name": "Amelia", "last_name": "Burrows", "email_id": "amelia.burrows@gmail.com", "org_id": "1005641456", } ### Add a New User to Existing Org You can add a new end-user to an existing organization using the code below. You must pass the dictionary you created in the previous section as an argument to the add_user_to_org() method. This method handles the user sign-up process and returns a response. Note : You will only be able to add 25 users in your application in the development environment. After you deploy your application to production, you can include any number of end-users in it. To know more about the component instance authentication_service used below, please refer to this section. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>signup_config</td> <td>Object</td> <td>A Mandatory parameter. Will store the user registration details, including the application platform, ZAID, and the email information to be sent after registration.</td> </tr> <tr> <td>user_details</td> <td>Object</td> <td>A Mandatory parameter. Will hold the user registration details such as first name, last name, email ID and ID of the organization to which the user has to be registered.</td> </tr> </tbody> </table> #Add new user to an existing organization authentication_service = app.authentication() response_data = authentication_service.add_user_to_org(signup_config, user_details) A sample response is shown below : { "zaid":"1008807534", "user_details":{ "zuid":"1005643749", "org_id":"1005641456", "status":"ACTIVE", "is_confirmed":false, "email_id":"amelia.burrows@gmail.com", "first_name":"Amelia", "last_name":"Burrows", "created_time":"Aug 12, 2021 03:56 PM", "modified_time":"Aug 12, 2021 03:56 PM", "invited_time":"Aug 12, 2021 03:56 PM", "role_details":{ "role_name":"App User", "role_id":"2305000000006024" }, "user_type":"App User", "user_id":"2305000000009002", "project_profiles":[ ] }, "redirect_url":"https://aliencity-66446133.development.catalystserverless.com/app/", "platform_type":"web", "org_id":"1005641456" } Info : Refer to the SDK Scopes table to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Reset Password" description: "This page describes the method to reset the password of a user account in your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.988Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/reset-password/" service: "Cloud Scale" related: - Reset Password - API (/en/api/code-reference/cloud-scale/authentication/reset-user-password/#ResetUserPassword) - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Reset Password You can reset the password of a registered user's account using the following code snippet. While calling the reset_password() method, a reset password link will be generated and sent to the user's email address. Note: * The email_id, platform_type, and zaid are mandatory attributes. * You can configure the sender's email address, subject and the email message. You must add the email address in the Catalyst Mail Component and get it verified before using it in the SDK code. #### Create a Dictionary You will need to create a dictionary that contains the registration details of a particular user as given below. You can then pass the configured dictionary to the method that handles the password reset process. #Create a dictionary reset_config = { "platform_type": "web", "zaid": "1008807534", "template_details": { "senders_mail": "dogogetu@tutuapp.bid", "subject": "Welcome to %APP_NAME%", "message": "<p>Hello ,</p> <p>Follow this link to join in %APP_NAME% .</p> <p><a href='%LINK%'>%LINK%</a></p><p>If you didnt ask to join the application, you can ignore this email.</p><p>Thanks,</p> <p>Your %APP_NAME% team</p>", }, } ### Reset the Password The objects that contains the user information and user signup configuration are passed as arguments to the reset_password() method which returns a response. To know more about the component instance authentication_service used below, please refer to this section. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>email_id</td> <td>String</td> <td>A Mandatory parameter. Will hold the value of the the user's email address.</td> </tr> <tr> <td>reset_config</td> <td>Object</td> <td>A Mandatory parameter. Will store the details of the user account for which the password needs to be reset. These details include the application platform type, the ZAID, and the email information to be sent after the password reset.</td> </tr> </tbody> </table> user = app.user_management() users = user.reset_password('amelia.b@zylker.com', { 'platform_type': 'web', 'redirect_url': 'https://www.google.com', 'template_details': { 'subject': 'Reset Password', 'message': 'Click on the link to reset your password: <a href="{{reset_password_url}}">Reset Password</a>', 'senders_mail': 'support@zylker.com' } }) print(users) A sample response is shown below : "Reset link sent to amelia.burrows@zylker.com. Please check your email". Info : Refer to the SDK Scopes table to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Custom User Validation" description: "This page describes the method to reset the password of a user account in your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.988Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/custom-user-validation/" service: "Cloud Scale" related: - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Custom User Validation Catalyst Authentication allows you to authorize and validate your end-users using a custom Basic I/O function on the event of a sign-up to your Catalyst application. You can write your own logic and process the credentials that the user provides through this function, and grant access to your application. To know more about the component instance authentication_service used below, please refer to this section. A sample code for a Custom User Validation function is given below. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>basicio</td> <td>Function</td> <td>A Mandatory parameter. The Basic IO Catalyst function that allows to authorize and validate your end-users.</td> </tr> </tbody> </table> import json import zcatalyst_sdk def handler(context, basicio): app = zcatalyst_sdk.initialize() authentication_service = app.authentication() request_details = authentication_service.get_signup_validation_request(basicio) if request_details: print("response :", request_details) if "spam.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": "Amelia", "last_name": "Jack", "role_identifier": "cx_role", "org_id": 1012535411 # If you are providing the Org ID, it must be copied from the console. }, } ) ) context.close() To test this function, you can pass the details of the user in the following .JSON format: { "request_type":"add_user", "request_details":{ "user_details":{ "email_id":"emmy@zylker.com", "first_name":"Emma", "last_name":"Thompson", "org_id":"432567817", "role_details":{ "role_name":"Moderator", "role_id":"879" } }, "auth_type":"web" } } Info : Refer to the SDK Scopes table to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Generate a Custom Server Token" description: "This page describes the method to reset the password of a user account in your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.988Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/third-party-server-token/" service: "Cloud Scale" related: - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Generate a Custom Server Token Cloud Scale's Authentication component allows you to implement a third-party authentication service of your preference for your Catalyst application. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Note: * Since you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. * To enable a third-party authentication in your Catalyst application, you must ensure that you have enabled Public Signup in the console. When a user is re-directed from a third-party service after being authenticated, their credentials must be passed to an authentication function that you code. This function must include the Catalyst server-side script to generate a custom server token, which will then be passed to the Web SDK incorporated in the client code. Info : Refer to the SDK Scopes table to determine the required permission level for performing the below operation. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">String</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>type</td> <td>String</td> <td>A Mandatory parameter. Will hold the value of the application type.</td> </tr> <tr> <td>user_details</td> <td>Object</td> <td>A Mandatory parameter. Will hold values of first_name and email_id of the end user.</td> </tr> </tbody> </table> import zcatalyst_sdk def handler(context, basicio): app = zcatalyst_sdk.initialize() auth = app.authentication() resp = auth.generate_custom_token( { "type": "web", "user_details": { "first_name": "Amelia", "email_id": "amelia.burrows@zylker.com", }, } ) basicio.write(str(resp)) context.close() You can now pass this token to the client logic as explained in this Web SDK help page. Note: The custom server token will have to be generated every single time the user logs in to your application using a third-party authentication service. -------------------------------------------------------------------------------- title: "Get User Details" description: "This page describes the method to fetch user details from the Data Store in your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.988Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/get-user-details/" service: "Cloud Scale" related: - Get User Details - API (/en/api/code-reference/cloud-scale/authentication/get-current-user/#GetCurrentUser) - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Get user details Catalyst Authentication provides some methods to retrieve the details of the application users. You can obtain the user information of the current user, any user, or all users of the application. ### Get Details of Current User The get_current_user() method fetches the details of the current user accessing the application and on whose scope the function is being executed. To know more about the component instance authentication_service used below, please refer to this section. #Get details of user authentication_service = app.authentication() current_user = authentication_service.get_current_user() A sample response is shown below : { "zuid":"1005641433", "org_id":"1005641434", "status":"ACTIVE", "is_confirmed":false, "email_id":"amelia.burrows@zylker.com", "first_name":"Amelia", "last_name":"Burrows", "created_time":"Aug 12, 2021 12:27 PM", "role_details":{ "role_name":"App User", "role_id":"2305000000006024" }, "user_type":"App User", "user_id":"2305000000007745", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[ ] } ### Get User Details by User ID You can retrieve the details of a particular user by passing the userID of the user to the get_user_details() method. The response returns the details of the particular user, such as their lastname, the list of the roles the user holds, the type of the user, the orgID of the organization the user belongs to, their email address, and more. To know more about the component instance authentication_service used below, please refer to this section. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>user_id</td> <td>String</td> <td>A Mandatory parameter. Will store the unique ID of the user whose details need to be retrieved.</td> </tr> </tbody> </table> #Get details by userid authentication_service = app.authentication() user_details=authentication_service.get_user_details('12345') A sample response is shown below : { "zuid":"1005665160", "org_id":"1005665245", "status":"ACTIVE", "is_confirmed":false, "email_id":"mikerogers@zylker.com ", "first_name":"Michael", "last_name":"Rogers", "created_time":"Aug 17, 2021 04:55 PM", "role_details":{ "role_name":"App User", "role_id":"2136000000007748" }, "user_type":"App User", "user_id":"2136000000020040", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[ ] } ### Get Details of All Users The get_all_users() method can fetch the details of all the users of all organizations. The response returns the following details of all the users : lastname, the list of the roles, the type of the user, email address, userID, zuid, time zone, and more. To know more about the component instance authentication_service used below, please refer to this section. #Get details of all users authentication_service = app.authentication() user_details = authentication_service.get_all_users() A sample response is shown below : [ { "zuid":"1005648252", "org_id":"1005648253", "status":"ACTIVE", "is_confirmed":false, "email_id":"p.boyle@zylker.com", "first_name":"Parker", "last_name":"Boyle", "created_time":"Aug 13, 2021 01:36 PM", "modified_time":"Aug 13, 2021 01:36 PM", "invited_time":"Aug 13, 2021 01:36 PM", "role_details":{ "role_name":"App User", "role_id":"2136000000007748" }, "user_type":"App User", "user_id":"2136000000007774", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[ ] }, { "zuid":"1005665160", "org_id":"1005665245", "status":"ACTIVE", "is_confirmed":false, "email_id":"rsmith@zylker.com ", "first_name":"Robert", "last_name":"Smith", "created_time":"Aug 17, 2021 04:55 PM", "modified_time":"Aug 17, 2021 04:55 PM", "invited_time":"Aug 17, 2021 04:55 PM", "role_details":{ "role_name":"App User", "role_id":"2136000000007748" }, "user_type":"App User", "user_id":"2136000000020040", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[ ] } ] ### Get Details of All Users in an org The org_id is passed as a parameter to the get_all_users() method in order to fetch the users belonging to a particular organization. To know more about the component instance authentication_service used below, please refer to this section. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>org_id</td> <td>String</td> <td>An Optional parameter. Will store the ID of the organization whose user details need to be retrieved. If `org_id` is not specified, details of all users across all organizations will be retrieved.</td> </tr> </tbody> </table> #Get details of all users authentication_service = app.authentication() user_details = authentication_service.get_all_users(1293028) A sample response is shown below : [ { "zuid":"1005648252", "org_id":"1005648253", "status":"ACTIVE", "is_confirmed":false, "email_id":"roger.p@zylker.com", "first_name":"Roger", "last_name":"Parkinson", "created_time":"Aug 13, 2021 01:36 PM", "modified_time":"Aug 13, 2021 01:36 PM", "invited_time":"Aug 13, 2021 01:36 PM", "role_details":{ "role_name":"App User", "role_id":"2136000000007748" }, "user_type":"App User", "user_id":"2136000000007774", "locale":"us|en|Asia/Kolkata", "time_zone":"Asia/Kolkata", "project_profiles":[ ] } ] Info : Refer to the SDK Scopes table to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Update User Details" description: "This page describes the method to reset the password of a user account in your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.989Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/update-user-details/" service: "Cloud Scale" related: - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Update User Details Catalyst allows you to modify and update the following details of an end-user: * First Name * Last Name * OrgID : OrgID is a unique value that is generated by Catalyst to associate with an organization. * RoleID : Role ID is the value generated by Catalyst that is assigned to a particular user role. ### Create a dictionary update_config = { "email_id": "amelia.burrows@zylker.com", "last_name": "Burrows", "first_name": "Amelia", "org_id": "1012585680", "role_id": "6759000000054065", } The SDK snippet below demonstrates updating an end-user’s details using the update_user_details(userID, userDetails) method. The first name of the user is updated in the example below. To know more about the component instance authentication_service used below, please refer to this section. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>UserID</td> <td>String</td> <td>A Mandatory parameter. Will hold the UserID of the user whose details are to be updated.</td> </tr> <tr> <td>update_config </td> <td>Object</td> <td>A Mandatory parameter. Will hold the values of email_id, last_name, first_name, org_id and role_id. You can update the first_name or last_name parameter here.</td> </tr> </tbody> </table> authentication_service = app.authentication() user_details=authentication_service.update_user_details('6759000000124659', update_config) Info : Refer to the SDK Scopes table to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Delete User" description: "This page describes the method to delete users from your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.989Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/delete-user/" service: "Cloud Scale" related: - Authentication Help (/en/cloud-scale/help/authentication/introduction) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Delete a User The end-user of a Catalyst application can be deleted from a Catalyst application to discontinue their access to it. This can be done by calling the delete_user() method and by passing the UserID of the user to be deleted as a parameter to it. This method returns a response as true when the user is deleted. To know more about the component instance authentication_service used below, please refer to this section. **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>UserID</td> <td>String</td> <td>A Mandatory parameter. Will store the ID of the user to be deleted.</td> </tr> </tbody> </table> #Delete an existing user authentication_service = app.authentication() delete_response = authentication_service.delete_user(2305000000007745) Info : Refer to the SDK Scopes table to determine the required permission level for performing the above operation. -------------------------------------------------------------------------------- title: "Enable or Disable a User" description: "This page describes the method to enable or disable a user in your Python application with sample code snippets." last_updated: "2026-09-09T11:06:25.989Z" source: "https://docs.catalyst.zoho.com/en/sdk/python/v1/cloud-scale/authentication/enable-disable-user/" service: "Cloud Scale" related: - Authentication Help (/en/cloud-scale/help/authentication/introduction) - Enable or Disable a User in the Console (/en/cloud-scale/help/authentication/user-management/users/implementation/#enable-or-disable-a-user) - SDK Scopes (/en/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Enable or Disable a User Catalyst allows you to disable or enable a user at any time. A disabled user will be signed up to your application but will not be able to access your application. The SDK snippet below demonstrates enabling and disabling an end-user using the update_user_status(userId, user_status) method. The user is referred by their unique User ID. You can find the User IDs of all users by navigating to the *Users* > *User Management* section of the Authentication component. To know more about the component instance authentication_service used below, please refer to this section. ### To Enable a User **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>userId</td> <td>String</td> <td>A Mandatory parameter. Will hold the UserID of the user to be enabled for the application.</td> </tr> <tr> <td>user_status</td> <td>String</td> <td>A Mandatory parameter. Will hold the default value "enable".</td> </tr> </tbody> </table> authentication_service = app.authentication() user_details = authentication_service.update_user_status('6759000000124659', 'enable') # Replace the user id ### To Disable a User **Parameters Used** <table class="content-table"> <thead> <tr> <th class="w20p">Parameter Name</th> <th class="w20p">Data Type</th> <th class="w60p">Definition</th> </tr> </thead> <tbody> <tr> <td>userId</td> <td>String</td> <td>A Mandatory parameter. Will hold the UserID of the user to be disabled for the application.</td> </tr> <tr> <td>user_status</td> <td>String</td> <td>A Mandatory parameter. Will hold the default value "disable"</td> </tr> </tbody> </table> authentication_service = app.authentication() user_details = authentication_service.update_user_status('6759000000124659', 'disable') # Replace the user id Info : Refer to the SDK Scopes table to determine the required permission level for performing the above operation. --- ## SDK — Web — Authentication -------------------------------------------------------------------------------- title: "Get an Authentication Instance" description: "This page describes the method to fetch an authentication instance in your Web application with sample code snippets." last_updated: "2026-09-09T11:06:25.990Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/get-auth-instance/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Get an Authentication Instance Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. The auth reference can be created to perform sign-in and sign-out operations.The following method will be used for this purpose and does not fire a server side call: //Get an Auth instance var auth = catalyst.auth; -------------------------------------------------------------------------------- title: "Get a Component Instance" description: "This page describes the method to fetch a component instance in your Web application with sample code snippets." last_updated: "2026-09-09T11:06:25.990Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/get-comp-instance/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Get a Component Instance Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. The userManagement reference can be created using the following method which does not fire a server side call. //Get an UserManagement Instance var userManagement = catalyst.userManagement; -------------------------------------------------------------------------------- title: "Add New User" description: "This page describes the method to add a new user account to your Web application with sample code snippets." last_updated: "2026-09-09T11:06:25.990Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/add-new-user/" service: "Cloud Scale" related: - JavaScript SDK (/en/sdk/javascript/v1/cloudscale/authentication/add-user-to-org/) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Add New User Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. You can add end users to your Catalyst serverless applications, fetch their details, or manage their accounts easily. When a user has signed up to a Catalyst application, unique identification values like ZUID and userID are created for them. The user is also assigned to an organization by Catalyst. You can learn more about this from the Users help page. You can use the following code snippet to register a new user to access your Catalyst application. This registration process is handled using the signUp() method. The auth reference used in the code snippet below is defined in the auth instance page. You must provide the email address and last name to register of the user mandatorily while adding the user. Note: You will be able to add only 25 users in your application in the development environment. After you deploy your application to production, you can include any number of end-users in it. The JSON objects containing the registration details of a particular user are created as shown below. //Enter the first name, last name, email id, platform and the redirect url var data = { "first_name": "Jason", "last_name": "Chang", "email_id": "jason.c@zylker.com", "platform_type": "web", "redirect_url": "https://shipmenttracking.zylker.com/" }; This object is passed as an argument to the signUp() method. The promise returned here will be resolved to an object whose content key contains details of the registered user. //Register the user by passing the object This in turn returns a promise var auth = catalyst.auth; var signupPromise = auth.signUp(data); signupPromise .then((response) => { console.log(response.content); }) .catch((err) => { console.log(err); }); A sample response that you will receive for each version is shown below: { zaid: "1005634498", user_details: { zuid: "1005641290", zaaid: "1005641456", org_id: "1005641456", status: "ACTIVE", is_confirmed: false, email_id: "p.boylie@zylker.com", first_name: "loki", last_name: "Boyle", created_time: "Aug 12, 2021 12:33 PM", modified_time: "Aug 12, 2021 12:33 PM", invited_time: "Aug 12, 2021 12:33 PM", role_details: { role_name: "App User", role_id: "10103000000115016" }, user_type: "App User", source: "Email", user_id: "10103000000111308" }, redirect_url: "https://aliencity-66446133.development.catalystserverless.com/app/", platform_type": "web", org_id: "10062221186" } { zaid: 1005634498, user_details: { zuid: 1005641433, zaaid: 1005641434, org_id: 1005641434, status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", created_time: "Aug 12, 2021 12:27 PM", modified_time: "Aug 12, 2021 12:27 PM", invited_time: "Aug 12, 2021 12:27 PM", role_details: { role_name: "App User", role_id: 2305000000006024 }, user_type: "App User", user_id: 2305000000007745, project_profiles: [] }, redirect_url: "https://aliencity-66446133.development.catalystserverless.com/app/", platform_type: "web", org_id: null } -------------------------------------------------------------------------------- title: "Reset Password" description: "This page describes the method to reset the password of a user account in your Web application with sample code snippets." last_updated: "2026-09-09T11:06:25.991Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/reset-password/" service: "Cloud Scale" related: - JavaScript SDK (/en/sdk/javascript/v1/overview/) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Reset Password Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Once a user has been successfully registered, you can reset their password using the following code snippet. When the the forgotPassword() method is called, a reset password link will be generated and sent to the user's email address. Only the user's email address is a mandatory attribute. The userManagement reference used in the code snippet below is the component instance. JSON objects containing the registration details of a particular user are created as follows: //Create an object with the details such as email Id, platform and redirect url var data = { "email_id": "amelia.burrows@zylker.com", "platform_type": "web", "redirect_url": "https://catalyst.zoho.com" }; This object is passed as an argument to the forgotPassword() method. Note : The promise returned will be resolved to an object in which the content key contains a confirmation message. //Reset password by passing the details. This in turn returns a promise. var userManagement = catalyst.userManagement; var forgotPromise = userManagement.forgotPassword(data); forgotPromise .then((response) => { console.log(response.content); }) .catch((err) => { console.log(err); }); -------------------------------------------------------------------------------- title: "Set New Password" description: "This page describes the method to set the password of the user after they complete the login process with Authentication." last_updated: "2026-09-09T11:06:25.991Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/set-new-password/" service: "Cloud Scale" related: - JavaScript SDK (/en/sdk/javascript/v1/overview/) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. This SDK snippet allows your end-user to reset their password after they have logged in to your applicaiton. It is mandatory that they input their oldPassword to change it. The auth reference used in the code snippet below is defined in the auth instance page. catalyst.auth.changePassword(oldPassword,newPassword) Note: This SDK snippet is only available if you install Web SDK 4.3.0 -------------------------------------------------------------------------------- title: "Get a User Object" description: "This page describes the method to fetch a user object instance in your Web application with sample code snippets." last_updated: "2026-09-09T11:06:25.991Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/get-user-object/" service: "Cloud Scale" related: - JavaScript SDK (/en/sdk/javascript/v1/overview/) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Get a User Object Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. A user object can be created using the following method which does not fire a server side call. The userManagementreference used in the code snippet below is the component instance. //Get the user object passing the user id. var userManagement = catalyst.userManagement; var user = userManagement.userId(USER_ID); -------------------------------------------------------------------------------- title: "Get User Details" description: "This page describes the method to fetch a user account details in your Web application with sample code snippets." last_updated: "2026-09-09T11:06:25.991Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/get-user-details/" service: "Cloud Scale" related: - JavaScript SDK (/en/sdk/javascript/v1/overview/) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Get User Details Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Catalyst Authentication provides some methods to retrieve the details of the application users. You can obtain the user information of the current user, any user, or all users of the application. ### Get Current User Details The method getCurrentProjectUser() fetches the details of a user on whose scope the function is getting executed. The userManagement reference used in the code snippets is the component instance created earlier. The promise returned here will be resolved to an object in which the content key contains the details of the current user of the application. //Get the details of the current user var userManagement = catalyst.userManagement; var currentUserPromise = userManagement.getCurrentProjectUser(); currentUserPromise .then((response) => { console.log(response.content); }) .catch((err) => { console.log(err); }); Additionally, you can also use the isUserAuthenticated() method which is an alternative to the getCurrentProjectUser() method. //Get the details of the current user var userManagement = catalyst.auth; var currentUserPromise = userManagement.isUserAuthenticated(); currentUserPromise .then((response) => { console.log(response.content); }) .catch((err) => { console.log(err); }); A sample response that you will receive for each version is shown below: { zuid: "10062169698", zaaid: "10062169862", org_id: "10062169862", status: "ACTIVE", is_confirmed: false, email_id: "amelia.burrows@zylker.com", first_name: "Amelia", last_name: "Burrows", created_time: "Jul 05, 2023 10:30 AM", modified_time: "Jul 05, 2023 10:30 AM", invited_time: "Jul 05, 2023 10:30 AM", role_details: { role_name: "App Administrator", role_id: "10103000000115014" }, user_type: "App User", user_id: "10103000000115057", locale: "us|en_us|America/Los_Angeles", time_zone: "America/Los_Angeles" } { zuid: 1005641433, zaaid: 1005641434, org_id: 1005641434, status: "ACTIVE", is_confirmed: false, email_id: "p.boyle@zylker.com", last_name: "Boyle", created_time: "Aug 12, 2021 12:27 PM", role_details: { role_name: "App User", role_id: 2305000000006024 }, user_type: "App User", user_id: 2305000000007745, locale: "us|en|Asia/Kolkata", time_zone: "Asia/Kolkata", project_profiles: [] } -------------------------------------------------------------------------------- title: "Third-party Authentication" description: "This page describes the methods required to enable third-party authentication in your Catalyst application" last_updated: "2026-09-09T11:06:25.991Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/third-party-custom-token/" service: "Cloud Scale" related: - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Third-party Authentication Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. Cloud Scale's Authentication component allows you to implement a third-party authentication service of your preference for your Catalyst application. The authorization and validation of the end-user is handled by the third-party service, and the data is passed on to Catalyst. Before you associate a third-party authentication with your Catalyst application, you must ensure that you have first completed handling the third-party logic in the external service. You can configure the authentication with any third-party of your choice. Note: Since you are implementing a third-party authentication service, it is understood that the security infrastructure of your application is contingent on the efficiency of the third-party service that you have chosen. Next, you set up the third-party authentication that you configured in Catalyst by navigating to the Authentication component in *Cloud Scale* in the Catalyst console. The steps are explained in Set Up Third-party Authentication in Catalyst help page. This process involves the following steps that you must perform: ### Generate a Custom Server Token First, we generate a custom server token. When a user is re-directed from a third-party service after being authenticated, their credentials must be passed to an authentication function that you will need to code in Java, Node.js, or Python. This function will generate a Catalyst server-side token **JSON Web Token** token (JWT) which will then be passed to the client. Note: To enable a third-party authentication in your Catalyst application, you must ensure that you have enabled Public Signup in the console. ### Authenticate User Using JWT The below SDK will use the generated JWT or custom token to authenticate the end-user. You must incorporate this code into your web client logic, to enable third-party authentication. This is a sample code that uses a JWT to authenticate the user is given below. &lt;script src="https://static.zohocdn.com/catalyst/sdk/js/4.6.2/catalystWebSDK.js"&gt;&lt;/script&gt; &lt;script src="/__catalyst/sdk/init.js"&gt;&lt;/script&gt; &lt;script&gt; catalyst.auth.signinWithJwt(getCustomTokenCallback); function getCustomTokenCallback(){ return fetch("{domain}/server/{function_name}/execute") //function url to get the generated custom token .then(resp => resp.json() .then(resp => { return new Promise((resolve, reject) => { resolve({ client_id : "********", scopes : "ZOHOCATALYST.tables.rows.ALL,ZOHOCATALYST.cache.READ", jwt_token : "*********" }); }); })) } &lt;/script&gt; Note: The custom server token will have to be generated every single time the user logs in to your application using a third-party authentication service. ### Configure Addional Settings Finally, you can onfigure Customer User Validation or Authorized Domains as a part of *Whitelisting* and finish the set up. Catalyst will display a confirmation that a third-party authentication service has been enabled and your application’s authentication is being handled by it. -------------------------------------------------------------------------------- title: "Sign a User Out From The Application" description: "This page describes the method to sign out an user account from your Web application with sample code snippets" last_updated: "2026-09-09T11:06:25.992Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/sign-out-user/" service: "Cloud Scale" related: - JavaScript SDK (/en/sdk/javascript/v1/cloudscale/authentication/add-user-to-org/) - Authentication (/en/cloud-scale/help/authentication/introduction) -------------------------------------------------------------------------------- # Sign a User Out From The Application Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. A user can log out from the application using the signOut() method where the redirect URL is passed as an argument.The auth reference used in the code snippet below is the auth instance. Note : This does not return a promise. //Configure the redirect url after successful logout var redirectURL = "https://catalyst.zoho.com"; //Use the redirect url and call the method to sign out  var auth = catalyst.auth; auth.signOut(redirectURL); -------------------------------------------------------------------------------- title: "Cross Domain Access" description: "This page describes the method to authenticte your backend and frontend servvices when they are hosted in different domains" last_updated: "2026-09-09T11:06:25.992Z" source: "https://docs.catalyst.zoho.com/en/sdk/web/v4/cloud-scale/authentication/cross-domain-access/" service: "Cloud Scale" related: - JavaScript SDK (/en/sdk/javascript/v1/cloudscale/authentication/add-user-to-org/) - Authentication (/en/cloud-scale/help/authentication/introduction) - Cross Domain Access Help Doc (/en/cloud-scale/help/authentication/cross-domain-access/) -------------------------------------------------------------------------------- # Authenticate Backend Requirements for Frontend Services Note: This SDK is currently in deprecation. Migrate to JavaScript SDK now. The generateAuthToken() SDK method will generate the required token to validate backend invocation calls made from the frontend services; when the backend and front services are hosted in different domains. Notes:<br /> * You need to ensure that the backend and frontend services though hosted on different hosting services are part of the same Catalyst project. * You must ensure you have whitelisted the domains of the backend and frontend services using the CORS feature present in Catalyst Authentication. You can find out more about the CORS feature from this help documentation. * The generateAuthToken() SDK method is available from Web SDK version v4.6.1. var auth = catalyst.auth; auth.generateAuthToken().then((response) => { const token = response.access_token; // the required user token will be shared as value in the response });