Two-Factor Authentication (2FA) for Zoho
Zoho 2FA (Two-Factor Authentication) or Multi-Factor Authentication (MFA) is an additional layer of security in which a user or an organizational employee have to provide two factors to gain access to the Zoho account. With Zoho TFA being enabled, anyone trying to login to your Zoho account from an unrecognized computer/device must provide additional authorization. Authentication starts with a user submitting his traditional username and password. Once the user successfully gets authenticated with the 1st step verification, configured 2FA (OTP over SMS, Push Notifications, YubiKey, TOTP, Google Authenticator etc) method prompts for 2nd-step verification. After successfully authenticating with both of the steps a user is granted with the access to the Zoho account. This extra layer prevents the unauthorized person from accessing the resources even if cyber attackers get to know your credentials.
miniorange provides 15+ authentication methods and solutions for various use cases. It allows users and organizations to set up certain authentication and settings which includes password restrictions, restricting sign-in methods, as well as other security settings. miniorange also makes way for authentication apps that support Time-Based One-Time Password (TOTP) Google Authenticator, Microsoft Authenticator, Authy 2-Factor authentication app and our own miniOrange Authenticator app.
Connect with External Source of Users
miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, OpenLDAP, AWS etc), Identity Providers (like Microsoft Entra ID, Okta, AWS), and many more. You can configure your existing directory/user store or add users in miniOrange.
miniOrange
Authenticator App
Google
Authenticator App
Authy 2-Factor
Authentication App
Microsoft
Authenticator App
Pre-requisite
To configure Zoho as a service provider in miniOrange, you will need to provide Zoho's details. These details can be found in the metadata file, which you can download from your Zoho account.
To download Zoho’s metadata:
- Login to accounts.zoho.com .
- In the left panel, under Organization, click SAML Authentication.
- Click Download Metadata. A file named "zohometadata.xml" will be downloaded.

- This we will need while configuring the SSO in miniOrange dashboard.
Follow the step-by-step guide given below for configuring the Zoho Single Sign-On (SSO)
1. Configure Zoho in miniOrange
- Login into miniOrange Admin Console.
- Go to Apps and click on Add Application button.

- In Choose Application, select SAML/WS-FED from the application type dropdown.

- Search for Zoho in the list, if you don't find Zoho in the list then, search for custom and you can set up your application in Custom SAML App.

2. Configure Single Sign-on (SSO) in Zoho Admin Account
- Go back to the Zoho admin account and click on Set up Now.

- In the SAML Authentication popup's, enter the SAML Login URL in Sign-in URL field and SAML Logout URL in Sign Out URL field, which you have copied in Step 1.
- In Change Password URL field, enter the miniOrange Login URL.
- In X.509 Certificate field, upload the certificate file downloaded in the Step 1.

- Based on your SAML requirements, you can make use of the following options as well:

Sign SAML requests:
- For SP-initiated SAML, Zoho will send SAML requests to your IdP (to authenticate the user). Your IdP may require that these requests are signed to ensure that:
- The requests are coming from Zoho and not any other source.
- The information sent in the request is not altered by a malicious actor.
- To meet this signature requirement, you can enable the option to sign all SAML requests Zoho sends. A public key will be generated and available for download (on the SAML Authentication page). You'll need to provide this public key to your IdP for verifying the signed requests.
Generate key pair
- After your IdP authenticates a user, it will send a SAML response to Zoho, which contains information about the authenticated user, among other details. To maintain the confidentiality of this information, the IdP may require that SAML responses be encrypted. To meet this requirement, you can generate a cryptographic key pair of public and private key. The private key will be kept secure. The public key will be available for download, and you'll need to provide it to your IdP. Your IdP will use this public key to encrypt the information in SAML responses and send them to Zoho. Since this information can only be decrypted using the private key that Zoho has kept secure, the information sent in responses remains confidential between your IdP and Zoho.
- Note: If you enable the option Sign SAML requests, a key pair will be generated automatically.
Single Logout
- There are two types of Single logout (SLO):
- SP-initiated SLO: When users sign out of Zoho, they will be automatically signed out of the IdP as well.
- IdP-initiated SLO: When users sign out of the IdP, they will be automatically signed out of Zoho as well.
- For SLO to work, it must be supported by the IdP. Some IdPs support only one type of SLO, some support both, and some support none.
- To configure Single logout for your organization, you need to:
- Enable the Single logout option.
- Provide your IdP's sign-out URL to Zoho while configuring SAML.
- Provide Zoho's sign-out URL to your IdP. Zoho's sign-out URL can be found in the metadata file under the tag {md:SingleLogoutService}. For IdPs that are supported, the steps to enable single logout are described in the respective SAML help articles.
Just-In-Time provisioning
- Just-in-Time (JIT) provisioning allows your users to get added to your Zoho organization when they sign in to Zoho for the first time through SAML. They will be added after validating the SAML response and their domain. If JIT is not enabled, you have to manually add your users to your Zoho organization before they can sign in with SSO.
- Using JIT, you can also retrieve and auto-fill some user information fields in Zoho (from the IdP). To do that, map the following Zoho user information fields with the corresponding fields from your IdP when you enable JIT:
- First Name
- Last Name
- Display Name
- Your IdP may either pre-define the attribute names or let you enter an attribute name of your own. If the latter is the case, enter an attribute name in Zoho and use the same name in your IdP.
- Click Submit. miniOrange as an IDP is configured successfully.

3. Configure 2FA for Zoho
4. Login with miniOrange
- Go to your Zoho Domain. It will redirect you to miniOrange Single Sign-On Service console.

- Enter your miniOrange login credentials and click on Login.
- Since we have Two-factor authentication(2FA) enabled, you will be prompted to register for it. It's a one time process.
- Configure your basic details.

- Configure any authentication method of your choice.

- After successful registration, you will be logged in to your Zoho account.
- Now we have Two-factor authentication enabled.
- To verify your Two-factor authentication(2FA) configuration, go to your Zoho Domain. You will be redirected to miniOrange login console.

- Enter your login credentials, and click on login. It will prompt to verify yourself against the configured 2fa method.
e.g. If you have configured OTP over SMS, after login into Zoho it will prompt for OTP. 
- Enter the OTP received in your phone, after successful 2fa verification, you will be redirected to the Zoho dashboard.
5. Adaptive Authentication with Zoho
A. Restricting access to Zoho with IP Configuration
You can use adaptive authentication with Zoho Single Sign-On (SSO) to improve the security and functionality of Single Sign-On. You can allow a IP Address in certain range for SSO or you can deny it based your requirements and you can also challenge the user to verify his authenticity. Adaptive authentication manages the user authentication bases on different factors such as Device ID, Location, Time of Access, IP Address and many more.
You can configure Adaptive Authentication with IP Blocking in following way :
- Login to Self Service Console >> Adaptive Authentication >> Add Policy.

- Add a Policy Name for your Adative Authentication Policy.
- Select Action for Behavior Change, click the Edit link, and then choose the appropriate Action and Challenge Type for the user from that section.

Action for behavior Change Options :
| Attribute |
Description |
| Allow |
Allow users to authenticate and use services if Adaptive authentication condition is true. |
| Challenge |
Deny user authentications and access to services if Adaptive authentication condition is true. |
| Deny |
Challenge users with one of the three methods mentioned below for verifying user authenticity. |
Challenge Type Options :
| Attribute |
Description |
| User second Factor |
The User needs to authenticate using the second factor he has opted or assigned for such as
- OTP over SMS
- PUSH Notification
- OTP over Email and, many more.
|
| KBA (Knowledge-based authentication) |
The System will ask the user for 2 of 3 questions he has configured in his Self-Service Console. Only after the right answer to both questions is the user allowed to proceed further. |
| OTP over Alternate Email |
User will receive an OTP on the alternate email they have configured through the Self Service Console. Once the user provides the correct OTP, they are allowed to proceed further. |
- Now click Edit option from the IP Configuration section to configure custom IP range.
- Select Add IP if the User's IP Address is not in the configured list.
- Specify the IP Address that you want to whitelist. For the IP Range other than the whitelisted one, you can select the above setting to reflect.
- Choose either allow or deny by selecting the corresponding option from the dropdown.
- If a user tries to login with the whitelisted IP address, they will always be allowed access.
- We support IP address range in three formats i.e., IPv4, IPv4 CIDR, and IPv6 CIDR. You can choose whichever is suitable for you from the dropdown menu.
- You can add multiple IPs or IP ranges by clicking the + Add IP button.

- Once the changes are made, scroll down to the end and click on Save.
B. Adaptive Authentication with Limiting number of devices
Using Adaptive Authentication you can also restrict the number of devices the end user can access the Services on. You can allow end users to access services on a fixed no. of devices. The end users will be able to access services provided by us on this fixed no. of devices.
You can configure Adaptive Authentication with Device Restriction in following way
- Login to Self Service Console >> Adaptive Authentication >> Add Policy.
- Add a Policy Name for your Adaptive Authentication Policy.
- Select your Action for behavior Change and Challenge Type for user from the Action for behavior Change Section.

- On the Add Policy tab, go to the Device Configuration section and click the Edit button.
- Enter the Number of Device Registrations Allowed as per your requirement. (2-3 devices are recommended.)
- Choose Action if number of devices exceeded (This will override your setting for Action for behavior Change.)
- Challenge: The user needs to verify himself using any of the three methods mentioned in table in step 5.1
- Deny : Deny users access to the system
- Enable Mobile Device Restriction to block logins from mobile devices. This ensures all login attempts from mobile devices will be declined.
- Enable MAC Address Based Restriction if you want to restrict access based on device MAC address.

- Scroll down to the bottom of the page and click on Save.
C. Add Adaptive Authentication policy to Zoho
- Login to Self Service Console >> Policies >> Add Login Policy.
- Click on Edit icon option for predefined app policy.

- Set your policy in the Policy Name and select Password as First Factor.
- Enable Adaptive Authentication on Edit Login Policy page and select the required restriction method as an option.
- From Select Login Policy dropdown select the policy we created in last step and click on Submit.


D. Notification and Alert Message.
How to add a trusted Device
- When End-user log in to the self service console after the policy for device restriction is on, he is provided the option to add the current device as a trusted device.
External References