What is user authentication?
We have enhanced the existing mechanism to provide a better, safer, and simpler authentication process. The improved JWT Authentication mechanism verifies the authenticity of your end users and permits them to use the help widget. To access the tickets they submitted, end-users of your app must have an identity to authenticate themselves as a user of the Zoho Desk portal. Zoho Desk makes this authentication possible via the JSON Web Token (JWT).
Zoho Desk supports two types of authentication: Anonymous and JWT.
• Anonymous
In this type, end-users are considered guest users. They can only submit tickets, view posts in the User Community, and chat with a customer support agent. They cannot view the tickets they submitted or actively participate in the User Community.
• JWT
In this type, end-users are considered authenticated users. In addition to the activities that guest users can perform, authenticated users can also view the submitted tickets and actively participate in the User Community (with rights to perform actions such as following a topic, adding a topic, and commenting on existing posts).
What is JWT Authentication
JWT (JSON Web Token) is a secure and efficient way of exchanging claims between two parties. It is a compact and URL-safe method of representing data that needs to be transferred. JWT is usually used for authentication and authorization purposes. The token is digitally signed, which ensures its authenticity and integrity. JWTs are widely used in modern web applications and APIs to transmit information securely between the client and server.
JWT Token
To authenticate users in the help widget, use the following code snippet based on the jwttoken:
- import {ZohoDeskPortalSDK} from '@zohocorp/zohodesk-portal-apikit'
//To pass your JWT Token which is generate by your secret key
ZohoDeskPortalSDK.isUserSignedIn((isSignedIn) => {
if(!isSignedIn) {
ZohoDeskPortalSDK.loginWithJWTToken(jwtToken, (message) => {
console.log("Success:", message);
},(error) => {
console.log("Error:", error);
});
});
How to check if the user is signed in?
To verify whether the current user is signed in to the SDK, use the following code snippet:
- import {ZohoDeskPortalSDK} from '@zohocorp/zohodesk-portal-apikit'
//This call back will return the boolean value
ZohoDeskPortalSDK.isUserSignedIn((value) =>{
if (value) {
console.log("The state of the user is signedIn")
}else{
console.log("The state of the user is signed out")
}
})
Logging out users from the SDK
To log a user out of the SDK, use the following method:
- import {ZohoDeskPortalSDK} from '@zohocorp/zohodesk-portal-apikit'
ZohoDeskPortalSDK.logout((success) => {
//The user logout successfully
console.log(success)
},(error) =>{//Failed to logout
console.log(error)
})