---
schema_version: "1"
id: 1b0629f725dc85fe189b0ee73b6008208f54b7b72226b9ab614fbb90d0c8bd1a
title: User Verification Terms
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/user_verification_terms.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.user_verification_terms.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 74354dd755cb8de2c48ff2df0293d049e07530942964ecce9cd0a458c7c40c8b
description: To set up User Verification, you must be familiar with tokens, keys, and keysets. These terms describe the fundamental concepts associated with this feature. If you want more context, this article breaks down the terms to understand.
products:
  - Service Cloud
  - Digital Engagement
release: "264"
---
# User Verification Terms

To set up User Verification, you must be familiar with tokens, keys, and keysets. These terms describe the fundamental concepts associated with this feature. If you want more context, this article breaks down the terms to understand.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition">
      <colgroup>
        <col style="width:50%">
        <col style="width:50%">
      </colgroup>
      <tbody>
        <tr class="">
          <td class="slds-cell-wrap" colspan="2" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=service.messaging_editions.htm&amp;type=5&amp;language=en_US" target="_blank">View supported editions.</a></td>

        </tr>
        <tr class="">
          <td class="slds-cell-wrap" style="vertical-align:top;">
            <a name="user_verification_terms__d240e335"><!-- --></a><span style="vertical-align:text-bottom;display:inline-block;"><img style="margin-bottom:0;" id="user_verification_terms__d240e335" src="https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/resources-global/_corporate/images/checkmark.png" alt="Checkmark"></span>
            <strong>This article applies to:</strong>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;">Enhanced In-App Chat and Enhanced Web Chat channels</td>

        </tr>
        <tr class="">
          <td class="slds-cell-wrap" style="vertical-align:top;">
            <span style="vertical-align:text-bottom;display:inline-block;"><img style="margin-bottom:0;" src="https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/resources-global/_corporate/images/crossmark.png" alt="X icon"></span>
            <strong>This article doesn’t apply to:</strong>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;">Enhanced WhatsApp, Enhanced Facebook Messenger, Standard and Enhanced SMS,
            Enhanced Apple Messages for Business, Enhanced LINE, and Bring Your Own
            Channel</td>

        </tr>
      </tbody>
    </table>

## JSON (JavaScript Object Notation)

**What is it?**

JSON is an open standard data format that uses a simple, human-readable syntax to store and transfer data. Even though it has “JavaScript” in the name, the format is language independent. The basic concept is an element that consists of a key, followed by a colon (:), followed by a value. You can create elements for strings, numbers, and boolean values. You can also create a comma-separated list of elements, or you can nest elements within elements by creating objects.

To learn more, see [RFC 8259](https://www.rfc-editor.org/rfc/rfc8259).

**How do we use it for Enhanced Chat?**

Our tokens and keys are stored using JSON.

**Show me an example!**

Here’s an example of some JSON.

```json
{
  "name": "Carrie",
  "age": 135, 
  "isHappy": true,
  "favorite_colors": ["blue", "green", "yellow"],
  "catch_phrase": "I can’t believe I’m 135 years old!"
}
```

## JSON Web Token (JWT, pronounced “jot”)

**What is it?**

A JWT is a compact, self-contained way to pass information between two parties. The data in a JWT is stored as a JSON object. It’s often digitally signed so that the recipient can verify the integrity of the data. A JWT is also typically encoded to ensure that it’s URL-safe when being passed.

A JWT consists of three parts: a header, a payload, and a signature. The header contains information about how the token is signed. The payload contains information about the user and other data. The signature contains the signed result of the header, the payload, and the secret. The signature doesn’t encrypt the data, the signature ensures that the data hasn’t been tampered with.

To learn more, see [RFC 7519](https://www.rfc-editor.org/rfc/rfc7519).

**How do we use it for Enhanced Chat?**

A JWT ensures that we display the right conversation history for the right user. After verifying that the token is valid, we use the subject of the token, the “sub” property, to identify the user and display their conversation history. The “sub” value in the JWT is stored as part of the Messaging Platform Key field of the [Messaging End User](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_messagingenduser.htm) record. For instance, if the “sub” value is `user-123`, the Messaging Platform Key might be `v2/iamessage/AUTH/{auth_id_info}/uid:user-123`.

**Show me an example!**

This JSON is a sample header.

```json
{
  "kid": "123456",
  "typ": "JWT",
  "alg": "RS256"
}
```

This JSON is a sample payload.

```json
{
  "sub": "user-123",
  "iss": "example.com",
  "exp": 1674164345,
  "iat": 1674158345
}
```

When a JWT is signed and encoded, it has this format.

```
hhhhhhh.ppppppp.sssssss
```

Where `hhhhhhh` represents the header, `ppppppp` represents the payload, and `sssssss` represents the signature.

This data is a sample encoded JWT.

```
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
```

You can use a site like [JWT.io](https://jwt.io/) to decode an encoded JWT.

![Warning](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-enus/f3c4b3d2-ff86-4f7c-9fe2-3d8b23d35109/images/icon_warning.png)

Warning Don’t share production JWTs with other organizations and don’t paste production JWTs into sites or tools.

## JSON Web Key (JWK) and JSON Web Key Set (JWKS)

**What is it?**

A JWK represents a public cryptographic key that can be used to verify the validity of a token (for user verification, this token is a JSON Web Token). A set of JWK keys is known as a JSON Web Key Set (JWKS).

To learn more, see [RFC 7517](https://www.rfc-editor.org/rfc/rfc7517).

**How do we use it for Enhanced Chat?**

We use a set of JSON Web Keys to verify the validity of the JSON Web Token (JWT). That way, we can ensure that an untampered token came from the correct source. We require a 2048-bit minimum RSA key length.

**Show me an example!**

```
{
  "kid":"123456",
  "alg":"RS256",
  "use":"sig",
  "kty":"RSA",
  "x5c":["<Your public certificate>"],
  "y":"y",
  "n":"<Base64-encoded modulus>",
  "e":"<Base64-encoded public exponent>",
  "crv":"crv",
  "d":"d",
  "k":"k"
}
```

#### See Also

- [Understanding Token-Based User Verification](https://help.salesforce.com/s/articleView?id=service.user_verification_overview.htm&release=264.0.0&type=5 "When setting up your Enhanced Chat implementation, it’s often valuable for your service reps to know that they’re speaking to a customer, or prospective customer, who has been verified by your authentication system. Token-based user verification lets you continue a conversation with a verified user, even when they’re on a different device, or when they reach out at a later time. The User Verification method uses a token system to ensure that the rep is speaking to someone who has been verified.")
- [Set Up Token-Based User Verification](https://help.salesforce.com/s/articleView?id=service.miaw_token_based_user_verification_setup.htm&release=264.0.0&type=5 "Let customers have secure conversations with token-based user verification. Add keys or an Endpoint URL to create a keyset, and then turn on user verification in Setup.")