Start building

Custom Identity Provider

LiveChat, May 9, 2022

Custom Identity Provider (CIP) is targeted for businesses that have some sort of user account system implemented within their product. This is a very broad definition that can cover both simple web stores and huge businesses, like banks or telecom companies.

LiveChat Custom Identity Provider synchronization illustration

To give you a better idea of what it actually is, you can think of it as a way to improve your customers’ experience, by making sure that whenever they log into your website or app, their LiveChat’s Custom Identity and chat session will be linked and synchronized with your system - no matter what device they used to log in. As a result, your customers will not only be able to view their chat history, but also continue the conversation right where they left off.

Before we delve into more technical details like what is Custom Identity at LiveChat and how Custom Identity Provider actually works, we’d like to show you a few other benefits, as well as a real use-case used by one of our customers.

A few other benefits, and a customer’s use-case

Synchronizing your customers’ sessions and chat history are not the only perks offered by Custom Identity Provider. Out of the box, LiveChat gives your agents the option to resume a conversation with a customer anytime. This handy feature allows you to follow up with a customer without the need to send an email or open a ticket, and with CIP, you can be sure that the customer will see it later.

Custom Identity Provider also eliminates the risks of leaking personal data in the case of customers using public terminals or kiosks. Usually when a customer logs into your website and starts a chat from a public device, their chat history may remain visible for other users logging in with the same device. With Custom Identity Provider, you can make sure that each time a user logs into your website, their ID is matched with the one that was created at LiveChat, eliminating the risk of displaying a chat history that does not belong to them. It simply makes LiveChat a more natural part of your product.

Now that you know how your business can benefit from using CIP, we want to share a customer story that should show you how it looks in action.

LiveChat Custom Identity Provider security illustration

Online banking servier - a user story

Imagine an internet bank company. They have a web application, as well as mobile apps for each platform. Most of their users are active on at least two platforms as most modern bank transfers require a confirmation by mobile. A customer is thinking about taking a loan for a greater amount than they have taken before. They aren’t sure whether they understand the offers thoroughly and therefore decide to chat with support. The agent answers all the customer’s questions, but they aren’t fully convinced. After leaving the computer for several hours, the customer remembers one more important question and decides to ask it by mobile app. When they navigate to the LiveChat section in the application, they see the whole conversation history from before on the computer. Additionally, the customer notices that the agent sent them another offer to consider in the meantime. The customer is able to continue the chat naturally, as if with a friend on other popular messaging platforms.

Now it’s time for the more technical part of the article. In it, we will briefly describe Custom Identity at LiveChat, as well as other aspects that are required to implement Custom Identity Provider.

What is Custom Identity?

Before we dive into explaining Custom Identity Provider as a whole, we should first focus on Custom Identity itself. LiveChat API assigns an ID to each visitor. This ID is created or, in the case of returning visitors, retrieved, whenever a customer visits your page and interacts with the chat. With the help of Custom Identity, we are able to recognize the person and assign the chat history and other metadata to the customer, like their name or email.

This ID can get lost though, which can happen when your customer revisits the same page but on a different browser or device, or after clearing the browser’s data. In such cases, a new ID is assigned to your customer, and we are unable to match it with the previous one. It is worth mentioning that Custom Identity is not based on the email or name provided during the chat. You can set up those with the use of session variables, but it won’t be enough to transfer your customer’s data, like chat history, between different browsers or devices.

And that’s where Custom Identity Provider comes in

How? You can simply store LiveChat’s Customer ID in your service and assign it to your customer’s identity. Then, when Chat Widget is loading, a set of functions that you provide within your service will call our API to acquire the token for the exact customer you asked for.

To do this, you will need two things: the entity_id and the access token (type: agent), with the right scope allowing you to create new customers and, later on, refresh their tokens. The token itself can be replaced with the one taken from the cookie grant flow. Once you have those, you need to make sure that your application will call the correct endpoints available in our APIs and then, after creating a customer, their ID will be taken from our response and stored in your database. You can then use this ID to refresh your customer’s access token, whenever they log into your app.

How do I get it?

Implementing Custom Identity Provider requires some coding, therefore it is a task for a developer. Don’t worry though! We prepared detailed instructions which are available in our documentation. You can also check how it works code-wise, by getting familiar with the working example that we prepared for developers interested in implementing Custom Identity Provider in their services.

We hope that the prepared materials will guide you through the process of implementation. However, if you have any other questions, don’t hesitate to send us a message!

Check the docs

Latest articles

Jun 6, 2024

What Is GitHub Used For and How Can It Enhance Your Projects...

Jun 4, 2024

Discover the Best Code Editor: Top Choices for Developers in...

May 23, 2024

The Developer's Blueprint: How to Become a Software Develope...