A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.
This guide will walk you through implementing a robust authentication system within your chatbot.
To initiate the User Identity Verification process, you need to first enable this feature within your chatbot settings.
This can be done through the chatbot settings in “User Identity Verification” section.Once the User Identity Verification is enabled your chatbot becomes equipped to automatically check for user tokens.
This means each time a user attempts to interact with the chatbot, their identity token will be reviewed for authenticity.
It is essential to set up an API endpoint that will handle the verification of user tokens. This endpoint must be configured to accept POST requests.
Specify the API Endpoint: In your chatbot settings, provide the URL of the API endpoint. This is the server address where the token verification requests will be sent.
Configure for POST Requests: Ensure that your API endpoint is configured to handle POST requests. This is crucial as the INNOCHAT will send token data via POST requests for verification.
Here’s what happens each time a chat is initiated:
Token Submission: Whenever a chat is rendered, INNOCHAT automatically sends a verification request to the provided API endpoint. This request includes the user’s token.
Processing the Request: Your API endpoint should process this request, verifying the token’s validity.
Outcome Handling:
Successful Verification: If the token is verified successfully, the chatbot will allow the authenticated user to proceed with the chat.
Failed Verification: In case the API returns an error (indicating a failed verification), the authentication will be deemed unsuccessful. Consequently, the user will be redirected to an error screen.
To enhance the functionality of the User Identity Verification process and maintain records of user interactions,
you have the option to save the data from successful verification responses.
Every time a user is successfully authenticated, the response from the verification process (typically including user identification details) is stored.This data is not stored in isolation but is linked with the specific chat conversations.
Only Valid JSON Data Accepted - Please ensure that all data provided for
storage is in valid JSON format. Non-JSON or invalid JSON data will be
automatically ignored and not stored in the conversation history.
Within the script of your webpage where the chatbot is integrated, locate the GPTTConfig object.
Here, you will need to update the token property with custom token. Here’s an example script:
You can also directly update the GPTTConfig object with your token using a JavaScript call.
This method is particularly useful if you need to dynamically update the token based on user interactions or other triggers within your application. Here’s how you can do it:
window.GPTTConfig.token = "Custom token";
When a change in the token property is detected, our system initiates an attempt to authenticate the user based on the new token value.
This ensures that the user’s identity is verified each time they interact with the chatbot.
You can pass the user token directly within an iframe by including it in the URL property.
Append the token parameter to the URL in the src attribute, replacing custom_token with the actual token value. Here’s an example:
If there is a need to change the token, simply update the src attribute of the iframe with the new token value.Upon updating the token in the URL, the iframe will reload, ensuring that the new token is used for authentication.Congratulations! You have now successfully completed the setup of the User Identity Verification feature for your innoChat Chatbot.
By following the steps outlined in this guide, you have enabled a robust and secure method for authenticating users, ensuring a safe and reliable user experience.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"innoChat API","colors":{"primary":"#2E3F51","light":"#516F90","dark":"#0D001D"},"logo":{"light":"https://mintcdn.com/innoq/m-MXq-_ojngkTbq6/logo/light.svg?fit=max\u0026auto=format\u0026n=m-MXq-_ojngkTbq6\u0026q=85\u0026s=40744d3184133a986aba56b47474b33c","dark":"https://mintcdn.com/innoq/m-MXq-_ojngkTbq6/logo/dark.svg?fit=max\u0026auto=format\u0026n=m-MXq-_ojngkTbq6\u0026q=85\u0026s=b9b2ff5ca3f2aba26ea014cc52e30f81"},"favicon":"/logo/favicon.png","api":{},"background":{},"navbar":{"links":[{"href":"mailto:hello@innochat.ch","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.innochat.ch"}},"navigation":{"languages":[{"language":"en","default":true,"href":"introduction"},{"language":"de","href":"de/introduction"},{"language":"fr","href":"fr/introduction"},{"language":"it","href":"it/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"innoq","hasAudioNarration":false,"actualSubdomain":"innoq","customDomains":["docs.innochat.ch"],"gitSource":{"type":"github","owner":"innoq-doc","repo":"innoq-doc","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e708a8fc07c2afd382a3","collectionId":"53bb3d08-7d40-431e-9052-b46127ae217e","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e708a8fc07c2afd382a3:success","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"en","tag":"API Reference","count":39},{"language":"de","tag":"API-Referenz","count":39},{"language":"fr","tag":"Référence API","count":39},{"language":"it","tag":"Riferimento API","count":36},{"language":"en","tag":"Data Sources","count":22},{"language":"de","tag":"Datenquellen","count":22},{"language":"fr","tag":"Sources de données","count":22},{"language":"it","tag":"Origini dati","count":22},{"language":"en","tag":"Documentation","count":15},{"language":"de","tag":"Dokumentation","count":15},{"language":"fr","tag":"Documentation","count":15},{"language":"it","tag":"Documentazione","count":15},{"language":"en","tag":"Chatbots","count":12},{"language":"en","tag":"Guides","count":12},{"language":"de","tag":"Chatbots","count":12},{"language":"de","tag":"Anleitungen","count":12},{"language":"fr","tag":"Chatbots","count":12},{"language":"fr","tag":"Guides","count":12},{"language":"it","tag":"Chatbot","count":12},{"language":"it","tag":"Guide","count":12},{"language":"en","tag":"Sessions \u0026 Messages","count":11},{"language":"de","tag":"Sitzungen \u0026 Nachrichten","count":11},{"language":"fr","tag":"Sessions \u0026 Messages","count":11},{"language":"en","tag":"Agents","count":10},{"language":"de","tag":"Agenten","count":10},{"language":"fr","tag":"Agents","count":10},{"language":"it","tag":"Agenti","count":10},{"language":"it","tag":"Sessioni e Messaggi","count":8},{"language":"en","tag":"Session Messages","count":6},{"language":"en","tag":"Whitelabel","count":6},{"language":"de","tag":"Sitzungsnachrichten","count":6},{"language":"de","tag":"Whitelabel","count":6},{"language":"fr","tag":"Messages de session","count":6},{"language":"fr","tag":"Marque blanche","count":6},{"language":"it","tag":"Messaggi di sessione","count":6},{"language":"it","tag":"White label","count":6},{"language":"en","tag":"Chatbot Sessions","count":5},{"language":"de","tag":"Chatbot-Sitzungen","count":5},{"language":"fr","tag":"Sessions chatbot","count":5},{"language":"it","tag":"Cookbook","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"user-identity","slug":"/user-identity","pageMetadata":{"title":"User Identity Verification","description":"A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.","href":"/user-identity","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This guide will walk you through implementing a robust authentication system within your chatbot.`}),`\n`,_jsx(Heading,{level:`2`,id:`step-1-enable-user-identity`,children:`Step 1: Enable User Identity`}),`\n`,_jsx(_components.p,{children:`To initiate the User Identity Verification process, you need to first enable this feature within your chatbot settings.\nThis can be done through the chatbot settings in “User Identity Verification” section.`}),`\n`,_jsx(_components.p,{children:`Once the User Identity Verification is enabled your chatbot becomes equipped to automatically check for user tokens.\nThis means each time a user attempts to interact with the chatbot, their identity token will be reviewed for authenticity.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-1.png?fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=e5f10556b6649ea05c1024c415cae4ff`,\"data-og-width\":`3500`,width:`3500`,\"data-og-height\":`1948`,height:`1948`,\"data-path\":`images/user-identity-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=41cbac0a14d2ee1ba08a7192ef6d7507 280w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=42701e9e1bff835ba76a16104ba91def 560w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=d54cc06946e2f64aa4053cd7a00015a8 840w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=43d3eb843cc859291f638fd7d81fc247 1100w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=709c5d3e1b66d8ef8147997e778c4fa3 1650w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=bce91f9f797a59e9c28dd4b620bcdfaa 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`step-2-api-endpoint`,children:`Step 2: API Endpoint`}),`\n`,_jsx(Heading,{level:`3`,id:`setting-up-the-api-endpoint`,children:`Setting Up the API Endpoint`}),`\n`,_jsx(_components.p,{children:`It is essential to set up an API endpoint that will handle the verification of user tokens. This endpoint must be configured to accept POST requests.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Specify the API Endpoint:`}),` In your chatbot settings, provide the URL of the API endpoint. This is the server address where the token verification requests will be sent.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Configure for POST Requests:`}),` Ensure that your API endpoint is configured to handle POST requests. This is crucial as the INNOCHAT will send token data via POST requests for verification.`]}),`\n`]}),`\n`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-2.png?fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=28cc7c965755dccab960e959d026b671`,\"data-og-width\":`3500`,width:`3500`,\"data-og-height\":`1948`,height:`1948`,\"data-path\":`images/user-identity-2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-2.png?w=280\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=4cbfef1e5e096ef308eaf4f650d56ab0 280w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-2.png?w=560\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=d7cb9a08b5a296df069d5a7f314213d8 560w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-2.png?w=840\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=8ca1e9f2687e39b65667f9e0a09ae5dc 840w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=5a5c8e3dc9c685b47453774cb204dce6 1100w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=86c250b3bae523f7b153684f47a3f5be 1650w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=edd73569e807205652878230b6436be0 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`verification-process-flow`,children:`Verification Process Flow`}),`\n`,_jsx(_components.p,{children:`Here’s what happens each time a chat is initiated:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Token Submission:`}),` Whenever a chat is rendered, INNOCHAT automatically sends a verification request to the provided API endpoint. This request includes the user’s token.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Processing the Request:`}),` Your API endpoint should process this request, verifying the token’s validity.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Outcome Handling:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Successful Verification:`}),` If the token is verified successfully, the chatbot will allow the authenticated user to proceed with the chat.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Failed Verification:`}),` In case the API returns an error (indicating a failed verification), the authentication will be deemed unsuccessful. Consequently, the user will be redirected to an error screen.`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-3-save-user’s-data`,children:`Step 3: Save User’s Data`}),`\n`,_jsx(_components.p,{children:`To enhance the functionality of the User Identity Verification process and maintain records of user interactions,\nyou have the option to save the data from successful verification responses.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-3.png?fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=39dbadd79f146a0eebad70dd5d456141`,\"data-og-width\":`3504`,width:`3504`,\"data-og-height\":`1940`,height:`1940`,\"data-path\":`images/user-identity-3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-3.png?w=280\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=3afd90f200cb57423f7412a92b77e2c1 280w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-3.png?w=560\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=f7d2d19d3c42b1fb3295c967246fee97 560w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-3.png?w=840\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=0991f73273a8edb587d05f94d261d054 840w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=6ae6e0e72df89764daef2678f9c21f57 1100w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=b20c6c841a29adeb4e21a5d4cbe17907 1650w, https://mintcdn.com/innoq/9CizSgZikx55e9_4/images/user-identity-3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9CizSgZikx55e9_4\u0026q=85\u0026s=eeb8953bc2dd8fa97a5ff75012956864 2500w`})}),`\n`,_jsx(_components.p,{children:`Every time a user is successfully authenticated, the response from the verification process (typically including user identification details) is stored.`}),`\n`,_jsx(_components.p,{children:`This data is not stored in isolation but is linked with the specific chat conversations.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Only Valid JSON Data Accepted`}),` - Please ensure that all data provided for\nstorage is in valid JSON format. Non-JSON or invalid JSON data will be\nautomatically ignored and not stored in the conversation history.`]})}),`\n`,_jsx(_components.p,{children:`Example of valid JSON:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"12345\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"JohnDoe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"johndoe@example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"verified\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"roles\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"admin\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"profile\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"firstName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"John\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"lastName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Doe\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"age\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`step-4-inserting-your-token-into-innochat-chatbot`,children:`Step 4: Inserting Your Token into innoChat Chatbot`}),`\n`,_jsx(Heading,{level:`3`,id:`chat-widget`,children:`Chat Widget`}),`\n`,_jsxs(_components.p,{children:[`Within the script of your webpage where the chatbot is integrated, locate the `,_jsx(_components.strong,{children:`GPTTConfig`}),` object.\nHere, you will need to update the `,_jsx(_components.strong,{children:`token`}),` property with custom token. Here’s an example script:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`html`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`GPTTConfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` uuid:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"15b1f07cd591476c94c210779a6c3c19\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` token:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Custom token\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`script`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` src`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://app.innochat.ch/widget-asset.min.js\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` defer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`script`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`You can also directly update the `,_jsx(_components.strong,{children:`GPTTConfig`}),` object with your token using a `,_jsx(_components.strong,{children:`JavaScript`}),` call.\nThis method is particularly useful if you need to dynamically update the token based on user interactions or other triggers within your application. Here’s how you can do it:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`GPTTConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`token`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Custom token\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`When a change in the token property is detected, our system initiates an attempt to authenticate the user based on the new token value.\nThis ensures that the user’s identity is verified each time they interact with the chatbot.`}),`\n`,_jsx(Heading,{level:`3`,id:`iframe`,children:`Iframe`}),`\n`,_jsxs(_components.p,{children:[`You can pass the user token directly within an iframe by including it in the URL property.\nAppend the `,_jsx(_components.strong,{children:`token`}),` parameter to the `,_jsx(_components.strong,{children:`URL`}),` in the src attribute, replacing `,_jsx(_components.strong,{children:`custom_token`}),` with the actual token value. Here’s an example:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`html`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`iframe`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` src`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://app.innochat.ch/widget/162223v?token=`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`custom_token>\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` width`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"100%\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` height`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"500px\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` frameborder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`iframe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`If there is a need to change the token, simply update the src attribute of the iframe with the new token value.`}),`\n`,_jsx(_components.p,{children:`Upon updating the token in the URL, the iframe will reload, ensuring that the new token is used for authentication.`}),`\n`,_jsx(_components.p,{children:`Congratulations! You have now successfully completed the setup of the User Identity Verification feature for your innoChat Chatbot.\nBy following the steps outlined in this guide, you have enabled a robust and secure method for authenticating users, ensuring a safe and reliable user experience.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"User Identity Verification","description":"A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.","href":"/user-identity","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Step 1: Enable User Identity","slug":"step-1-enable-user-identity","depth":2,"children":[]},{"title":"Step 2: API Endpoint","slug":"step-2-api-endpoint","depth":2,"children":[{"title":"Setting Up the API Endpoint","slug":"setting-up-the-api-endpoint","depth":3,"children":[]},{"title":"Verification Process Flow","slug":"verification-process-flow","depth":3,"children":[]}]},{"title":"Step 3: Save User’s Data","slug":"step-3-save-user’s-data","depth":2,"children":[]},{"title":"Step 4: Inserting Your Token into innoChat Chatbot","slug":"step-4-inserting-your-token-into-innochat-chatbot","depth":2,"children":[{"title":"Chat Widget","slug":"chat-widget","depth":3,"children":[]},{"title":"Iframe","slug":"iframe","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"innoq","siteName":"innoChat API","title":"User Identity Verification - innoChat API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/user-identity","matchLevel":0},"de":{"href":"/de/user-identity","matchLevel":1},"fr":{"href":"/fr/user-identity","matchLevel":1},"it":{"href":"/it/user-identity","matchLevel":1}}},"lastModified":"2025-12-09T07:50:05.348Z","originalFileLocation":"user-identity.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.\">\u003cmeta data-mint-head name=\"application-name\" content=\"innoChat API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"User Identity Verification - innoChat API\">\u003cmeta data-mint-head property=\"og:description\" content=\"A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"innoChat API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.innochat.ch/user-identity\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://innoq.mintlify.app/_mintlify/api/og/v2?division=Authentication+Webhook\u0026amp;title=User+Identity+Verification\u0026amp;description=A+guide+explaining+how+to+set+up+and+implement+User+Identity+Verification+in+your+innoChat+chatbot%2C+including+token+validation%2C+API+endpoint+configuration%2C+data\u0026amp;theme=d32e8e178367d8e52a00ee73\u0026amp;signature=8c2cb511b13c8a12e3568b2090c56273c2f2767510958dd5fa64673a282acf3a\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"User Identity Verification - innoChat API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://innoq.mintlify.app/_mintlify/api/og/v2?division=Authentication+Webhook\u0026amp;title=User+Identity+Verification\u0026amp;description=A+guide+explaining+how+to+set+up+and+implement+User+Identity+Verification+in+your+innoChat+chatbot%2C+including+token+validation%2C+API+endpoint+configuration%2C+data\u0026amp;theme=d32e8e178367d8e52a00ee73\u0026amp;signature=8c2cb511b13c8a12e3568b2090c56273c2f2767510958dd5fa64673a282acf3a\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/innoq/xIqE2ijYpQ8yansi/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"innoChat API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2E3F51\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.innochat.ch/user-identity\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/user-identity.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.innochat.ch/user-identity\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.innochat.ch/de/user-identity\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.innochat.ch/fr/user-identity\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.innochat.ch/it/user-identity\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.innochat.ch/user-identity\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.innochat.ch/#organization\",\"name\":\"innoChat API\",\"url\":\"https://docs.innochat.ch\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/innoq/m-MXq-_ojngkTbq6/logo/light.svg?fit=max\u0026auto=format\u0026n=m-MXq-_ojngkTbq6\u0026q=85\u0026s=40744d3184133a986aba56b47474b33c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.innochat.ch#website\",\"name\":\"innoChat API\",\"url\":\"https://docs.innochat.ch\",\"publisher\":{\"@id\":\"https://docs.innochat.ch/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.innochat.ch/user-identity#webpage\",\"url\":\"https://docs.innochat.ch/user-identity\",\"name\":\"User Identity Verification\",\"description\":\"A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.\",\"dateModified\":\"2025-12-09T07:50:05.348Z\",\"isPartOf\":{\"@id\":\"https://docs.innochat.ch#website\"},\"breadcrumb\":{\"@id\":\"https://docs.innochat.ch/user-identity#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.innochat.ch/user-identity#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"innoChat API\",\"item\":\"https://docs.innochat.ch\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"User Identity Verification\",\"item\":\"https://docs.innochat.ch/user-identity\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.innochat.ch/user-identity#article\",\"headline\":\"User Identity Verification\",\"name\":\"User Identity Verification\",\"description\":\"A guide explaining how to set up and implement User Identity Verification in your innoChat chatbot, including token validation, API endpoint configuration, data storage, and integration methods.\",\"url\":\"https://docs.innochat.ch/user-identity\",\"mainEntityOfPage\":{\"@id\":\"https://docs.innochat.ch/user-identity#webpage\"},\"dateModified\":\"2025-12-09T07:50:05.348Z\",\"publisher\":{\"@id\":\"https://docs.innochat.ch/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.innochat.ch#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"innoChat API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"innoChat API","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Documentation","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/introduction"}]},{"group":"Guides","pages":[{"title":"Create Your First Chatbot","href":"/creating-first-chatbot"},{"title":"Lead Collection","href":"/lead-collection"},{"title":"Human Support Escalation","href":"/human-support-escalation"},{"title":"Inbox Notifications","href":"/inbox-notifications"},{"title":"Conversation Labeling","href":"/conversation-labeling"},{"title":"Multi-Agents Chatbot","href":"/multi-agents-chatbot"},{"title":"Fine Tuning Agent Intents","href":"/fine-tuning-agent-intents"},{"title":"AI Supervisor Overrides","href":"/supervisor-overrides"},{"title":"Bring Your Own Key (BYOK) and Pricing","href":"/byok-pricing-guide"},{"title":"Working with Tables and CSV","href":"/working-with-tables"},{"title":"Best practices for preparing training data","href":"/best-practices"},{"title":"Why does my chatbot not answer correctly?","href":"/help"}]},{"group":"Function Calling","pages":[{"title":"RAG from an External Data Provider","description":"Learn how to use function calling to pull external, real-time data into your INNOCHAT agents.","href":"/rag-from-external-data-provider"}]},{"group":"Authentication Webhook","pages":[{"title":"User Identity Verification","href":"/user-identity"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/api-key-setup"}]},{"tab":"Cookbook","pages":[{"title":"Cookbook","href":"/cookbook/overview"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/slack"}]},{"tab":"Tools","pages":[{"title":"Tools","href":"/tools/tools-intro"}]},{"tab":"Whitelabel","pages":[{"title":"Whitelabel","href":"/whitelabel/whitelabel-intro"}]}]},{"language":"de","pages":[{"title":"de","href":"/de/user-identity"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/user-identity"}]},{"language":"it","pages":[{"title":"it","href":"/it/user-identity"}]}]},"title":"User Identity Verification - innoChat API","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BbYRHtLl.js","DynamicMarkdown-DN96a4Ur.js","zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}