Identity verification makes sure that conversations between you and your customers are kept private and that someone else can't impersonate another.
We strongly encourage everyone to set up and enable identity verification.
The Identity verification is a JSON web token, and should be created on your server side.
The Key for creating the token is your API secret.
The token is signed using:
HMAC-SHA256
Standard JWT Claims
Name | Description |
---|---|
Issuer | UUID. The api key (lower case) |
Audience | UUID. The unique identifier of the customer (lower case) |
Expiration | Token expiration datetime in UTC. We recommend at least 5 hours from creation. |
Optional Claims
Name | Description |
---|---|
field1 | If a ticket is opened, this value will be set for field1. |
field2 | If a ticket is opened, this value will be set for field2. |
field3 | If a ticket is opened, this value will be set for field3. |
field4 | If a ticket is opened, this value will be set for field4. |
You can also add your own custom claims in the token. This values will be present in the identityTokenClaims object in the ticket details (The max length of the serialized identityTokenClaims to json is 500).
{
"iss": "3bd92f80-8861-4c60-b316-8c462b2bde89",
"iat": 1539766700,
"exp": 1571386631,
"aud": "db79e775-84f2e-8741-9266e920cc32",
"sub": ""
}
This Online JWT Builder will help get you started.
The "aud" claim should have the same value as the uniqueIdentifier parameter of the widgetOptions object. The uniqueIdentifier value should be a valid UUID.
The uniqueIdentifier is determined by you, and should be stored in your server side. If, for example, you have a user named "[email protected]", with a corresponding uniqueIdentifier of "db79e775-81fd-4f2e-8741-9266e920cc32", then every time this user logins, the value should be the same.
After creating the token, pass it, together with the customer's "uniqueIdentifier", like this:
<!-- Start of Glassix Chat Widget -->
<script>
var widgetOptions = {
apiKey: "7cab072d-43d0-4e9d-bb25-2a947696fe8f",
snippetId: "dr548fbb5d61ec51869a",
uniqueIdentifier: "db79e775-81fd-4f2e-8741-9266e920cc32",
identityToken: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ..."
};
(function(n){var u=function(){GlassixWidgetClient&&typeof GlassixWidgetClient=="function"?(window.widgetClient=new GlassixWidgetClient(n),widgetClient.attach(),window.glassixWidgetScriptLoaded&&window.glassixWidgetScriptLoaded()):f()},f=function(){r.src="https://cdn.glassix.net/clients/widget.1.2.min.js";r.onload=u;document.body.removeChild(t);i.parentNode.insertBefore(r,i)},i=document.getElementsByTagName("script")[0],t=document.createElement("script"),r;(t.async=!0,t.type="text/javascript",t.crossorigin="anonymous",t.id="glassix-widget-script",r=t.cloneNode(),t.onload=u,t.src="https://cdn.glassix.com/clients/widget.1.2.min.js",!document.getElementById(t.id)&&document.body)&&(i.parentNode.insertBefore(t,i),t.onerror=f)})(widgetOptions)
</script>
<!-- End of Glassix Chat Widget -->