Identity Validation

Identity verification is a way to make sure that the conversations between customers and support agents are private and secure. It helps to avoid impersonation and unauthorized access by checking the identities of both parties.

If your users can log into your app, you should enable identity verification. Neo uses an HMAC-based identity verification. HMAC is a cryptographic algorithm that uses a secret key (provided by Neo) and a unique identifier to generate a code. This code can then be used to verify the user on the front end.

Generating HMAC

To generate the HMAC, you need to get the secret key for your Neo inbox. You can find the key in Settings > Inboxes > Settings > Configuration > Identity Validation

To use HMAC for identity verification in your web widget, you need to generate an HMAC using this key. You can do this in any programming language in the backend. Most languages have built-in cryptographic functions to generate the token, or you can use popular libraries. You can find examples of common programming languages at the end of this page.

Verifying the HMAC

To verify the HMAC, you need to send the HMAC along with the identifier to your Neo server via the SDK.

Verification on the web

If the HMACs match, you can be sure that the person who sent the identifier is authorized to do so. All unverified users, will show up with alert mark, stating that the identity is not verified.

Verification in React Native

You can also use identity verification in React Native. You can find the documentation to set up Neo for React Native here

Enforcing verification

If you want to enforce verification for all users, you can do so by enabling the Enforce User Identity Validation option in the inbox settings.

If this option is enabled, any incoming message from an unverified user will be rejected.

PHP

Javascript (Node.js)

Ruby

Elixir

Golang

Python

Last updated