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.
Sample HMAC Generation for popular languagees
PHP
Javascript (Node.js)
Ruby
Elixir
Golang
Python
Last updated