{"id":36895691,"url":"https://github.com/livechat/identity-provider-example","last_synced_at":"2026-01-12T15:41:56.008Z","repository":{"id":91536421,"uuid":"375141550","full_name":"livechat/identity-provider-example","owner":"livechat","description":"Example of using custom_identity_provider feature from LiveChat Chat Widget together with own web services","archived":false,"fork":false,"pushed_at":"2025-12-12T10:54:57.000Z","size":602,"stargazers_count":2,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-12-13T22:44:45.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/livechat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-06-08T20:47:48.000Z","updated_at":"2025-12-12T10:55:02.000Z","dependencies_parsed_at":"2024-02-28T13:45:16.660Z","dependency_job_id":null,"html_url":"https://github.com/livechat/identity-provider-example","commit_stats":null,"previous_names":[],"tags_count":1,"template":true,"template_full_name":null,"purl":"pkg:github/livechat/identity-provider-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livechat%2Fidentity-provider-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livechat%2Fidentity-provider-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livechat%2Fidentity-provider-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livechat%2Fidentity-provider-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/livechat","download_url":"https://codeload.github.com/livechat/identity-provider-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livechat%2Fidentity-provider-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28341365,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-12T15:41:55.947Z","updated_at":"2026-01-12T15:41:55.999Z","avatar_url":"https://github.com/livechat.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction\n\nThis project is an example of using the `custom_identity_provider` feature of LiveChat Chat Widget and personal web service.\nIt presents a use case of binding own User's identity and LiveChat Customer identity to provide a more seamless experience for the User.\n\nThe `signup` process of the new User creates the dedicated LiveChat customer and updates its metadata with the data provided by the User.\n\nDuring the `signin` process, the User is authorized to access the profile page. Then, the LiveChat Chat Widget is loaded and fetches the `/auth/lc/token` endpoint to retrieve an access token for the customer associated with the current User.\n\nThanks to maintaining the connection between the application user and LiveChat Customer, the chat history and identity can be restored on multiple devices and sessions after successful `signin'.\n\n## Local configuration\n\n### Create LiveChat integration\n\nTo successfully run Customer authorization for LiveChat license, the custom integration application needs to be created on that license. To do so, go to [Developers Console](https://developers.livechat.com/console), make a new application, and then follow the [Step 1 Configure the Authorization building block](https://developers.livechat.com/docs/authorization/authorization-in-practice/#step-1-configure-the-authorization-building-block) instructions.\n\n**Remember for Authorization building block:**\n\n- no particular _Access scopes_ needs to be specified\n- the _Redirect URI whitelist_ needs to contain a `http://localhost:3000` address\n\n### Create configuration file\n\nTo properly run an app locally, create a simple configuration file `.env.local` at the top of the project directory with the following content:\n\n```\nSECRET=''\nLC_CLIENT_ID=''\nNEXT_PUBLIC_LC_LICENSE_ID=''\n\n```\n\nReplace missing values with:\n\n- `SECRET`: secret used as [JWT](https://jwt.io/introduction) signature, for example [Random UUID](https://www.uuidgenerator.net/version4)\n- `LC_CLIENT_ID`: integration's client_id from [Developers Console](https://developers.livechat.com/console)\n- `NEXT_PUBLIC_LC_LICENSE_ID`: LiveChat license id\n\n## Getting Started\n\nFirst, install dependencies:\n\n```bash\nnpm install\n# or\nyarn\n```\n\nThen, run DB initial migration:\n\n```bash\nnpm run db:migrate\n\n# or\n\nyarn db:migrate\n\n```\n\nAnd lastly, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nThe app views are stored in `pages` directory. Each file corresponds to a separated React page.\n\nThe `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flivechat%2Fidentity-provider-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flivechat%2Fidentity-provider-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flivechat%2Fidentity-provider-example/lists"}