Zoho Recruit | OAuth Overview

Overview

The Zoho Recruit API uses the OAuth 2.0 protocol for authentication. It uses the Authorization Code Grant Type to obtain the grant token (code). This grant type allows you to share specific data with any application while keeping your usernames and passwords private. This protocol provides users with a secure and easy way to use authentication.

Reference

The generation flow for Zoho Recruit's OAuth Authentication involves 5-simple steps. Use the links provided below to navigate between these pages.
  1. Step 1: Registering a Client
  2. Step 2: Making the Authorization Request
  1. Step 3: Generating Tokens

Why use OAuth 2.0?  

  1. You can revoke a customer's access to the application any time
  2. No need to disclose credentials to clients
  3. No information will be revealed even if the client is hacked, since access tokens are issued to individual applications and not the client as a whole
  4. Specific scopes can be applied to either restrict or provide access to certain data for the client, which will be different for each client application

How does OAuth 2.0 work?  


Terminology  

Here are some terms you need to know before you start using the Zoho Recruit APIs.

Protected resources  
Zoho Recruit resources, such as Candidates, Contacts, Job Openings, etc.

Resource server  
The Zoho Recruit server that hosts the protected resources.

Resource owner  
Any end user of your account who can grant access to the protected resources.

Client  
An application that sends requests to the resource server to access the protected resources on behalf of the end user.

Client ID  
The consumer key generated from the connected application.

Client Secret  
The consumer secret generated from the connected application.

Authorization server  
The authorization server provides the necessary credentials (such as access and refresh tokens) to the client. In this case, it will be the Zoho Recruit authorization server.

Authentication code  
A temporary token created by the authentication server and sent to the client via the browser. The client will send this code to the authorization server to obtain access and refresh tokens.

Tokens  

Access Token  
A token that is sent to the resource server to access the protected resources of the user. The access token provides secure and temporary access to Zoho Recruit APIs and is used by the applications to make requests to the connected app. Each access token will be valid only for an hour, and can be used only for the operations that are described in the scope.

Refresh Token  
A token that can be used to obtain new access tokens. This token has an unlimited lifetime until it is revoked by the end user.

Scopes  

Zoho Recruit APIs use selected scopes which control the type of resource that the client application can access. Tokens are usually created with various scopes to ensure improved security. For example, you can generate a scope to create or view a lead or to view metadata.
Scopes contain three parameters—service name, scope name, and operation type.

The format to define a scope is scope=service_name.scope_name.operation_type

Example:  https://accounts.zoho.com/oauth/v2/auth?scope=ZohoRecruit.modules.ALL
Here, ZohoRecruit is the service API name, modules is the scope name, and ALL is the operation type.

Available Scopes

Scope Name

Associated Methods

users

users.all

settings

settings.all, settings.custom_views, settings.related_lists, settings.modules, settings.fields, settings.layouts

modules

modules.all, modules.candidate, modules.client, modules.contact, modules.jobopening, modules.campaign, modules.task, modules.event, modules.call, modules.interview, modules.vendor, modules.custom,modules.notes,modules.activities,modules.assessment,modules.candidatestatus,modules.jobopeningstatus


Group Scopes
Group scopes provide complete access to all functions the user can perform on the record. For example, a group scope can allow a user to read, create, update, and delete records in all modules.

Example:  https://accounts.zoho.com/oauth/v2/auth?scope=ZohoRecruit.modules.ALL,ZohoRecruit.settings.ALL&client_id={client_id}&response_type=code&access_type={%22offline%22or%22online%22}&redirect_uri={redirect_uri}
In the above example, the user has access to all modules in the client Zoho Recruit account.
Other examples are:
  1. scope=ZohoRecruit.modules.READ (read-only permission)
  2. scope=ZohoRecruit.modules.CREATE
  3. scope=ZohoRecruit.modules.UPDATE
  4. scope=ZohoRecruit.modules.DELETE
Important Note:  The user access token must be kept confidential, since it defines the type of API that you use. Do NOT expose your access token anywhere in public forums, public repositories or on your website's client-side code like HTML or JavaScript. Exposing it to the public may lead to data theft, loss, or corruption.