{"id":13715134,"url":"https://github.com/ceramicstudio/js-3id","last_synced_at":"2025-04-06T07:09:53.117Z","repository":{"id":38673912,"uuid":"306703545","full_name":"ceramicstudio/js-3id","owner":"ceramicstudio","description":"Authentication system for Ceramic apps that works with blockchain wallets.","archived":false,"fork":false,"pushed_at":"2023-08-11T15:48:41.000Z","size":17898,"stargazers_count":107,"open_issues_count":20,"forks_count":41,"subscribers_count":8,"default_branch":"develop","last_synced_at":"2024-05-22T19:35:55.768Z","etag":null,"topics":["blockchain","ceramic","dids","identityindex","idx","wallet"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ceramicstudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-10-23T17:28:29.000Z","updated_at":"2024-01-26T08:37:53.000Z","dependencies_parsed_at":"2023-02-18T13:30:25.912Z","dependency_job_id":"abc7b1c1-3627-4a72-8d09-06278001f361","html_url":"https://github.com/ceramicstudio/js-3id","commit_stats":{"total_commits":316,"total_committers":19,"mean_commits":16.63157894736842,"dds":0.2816455696202531,"last_synced_commit":"dc9b8d0d74a4ac8c97d7490b3e2d42bfff9b7ef8"},"previous_names":["ceramicstudio/3id-connect"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fjs-3id","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fjs-3id/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fjs-3id/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fjs-3id/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceramicstudio","download_url":"https://codeload.github.com/ceramicstudio/js-3id/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289408,"owners_count":20914464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["blockchain","ceramic","dids","identityindex","idx","wallet"],"created_at":"2024-08-03T00:00:54.505Z","updated_at":"2025-04-06T07:09:53.084Z","avatar_url":"https://github.com/ceramicstudio.png","language":"TypeScript","funding_links":[],"categories":["Awesome List"],"sub_categories":["Developer Tools"],"readme":"![ceramicnetwork](https://circleci.com/gh/ceramicstudio/3id-connect.svg?style=shield)\n[![](https://img.shields.io/badge/Chat%20on-Discord-orange.svg?style=flat)](https://discord.gg/6VRZpGP)\n[![Twitter](https://img.shields.io/twitter/follow/ceramicnetwork?label=Follow\u0026style=social)](https://twitter.com/ceramicnetwork)\n\n# \u003ca name=\"intro\"\u003e\u003c/a\u003e 3ID-Connect\n\n![3ID Connect Image](./assets/3id-connect_readme-image.png)\n\n3ID Connect provides 3ID user account management in a iframe, an easy way to access a DID provider, specifically [ThreeIdProvider](https://github.com/ceramicstudio/js-3id-did-provider) in the browser.\nIt allows users to authenticate, manage, link and permission their 3ID keys to applications.\n\nThe library [js-3id-did-provider](https://github.com/ceramicstudio/js-3id-did-provider) handles most operations and the parent window (application) communicates with the iframe service over an RPC layer.\n\n## Getting started\n\n### Installation\n\n```sh\nnpm install @3id/connect\n```\n\n### Basic usage\n\n```ts\nimport { EthereumAuthProvider, ThreeIdConnect } from '@3id/connect'\n\n// ethProvider is an Ethereum provider and addresses an array of strings\nconst authProvider = new EthereumAuthProvider(ethProvider, addresses[0])\n\nconst threeIdConnect = new ThreeIdConnect()\nawait threeIdConnect.connect(authProvider)\n```\n\nSee the [example app](./apps/example) for more details\n\n## Developement\n\n### Prerequisites\n\nyarn v1 and lerna v4 should be installed globally:\n\n```sh\nnpm install -g lerna yarn\n```\n\n### Installation\n\nRun `yarn install` from the root folder, this will install the dependencies and build the packages\n\n### Scripts\n\nIn the root folder:\n\n- `lint`: lints all apps and packages\n- `build`: builds all packages\n- `test:unit`: runs unit test\n- `test:management`: runs integration tests for the [management lib](./packages/management) with a Ceramic server\n- `test:integration`: runs integration tests from the [integration app](./apps/integration) with a Ceramic server\n\n## Folders\n\n### Packages\n\n- [`@3id/common`](./packages/common): Common types and utilities used by packages\n- [`@3id/connect`](./packages/connect): 3ID Connect library\n- [`@3id/connect-display`](./packages/connect-display): 3ID Connect popup prompts\n- [`@3id/manager`](./packages/manager): 3ID accounts storage and management\n- [`@3id/test-utils`](./packages/test-utils): Testing utilities for apps and packages\n- [`@3id/window-auth-provider`](./packages/window-auth-provider): cross-window AuthProvider\n\n### Apps\n\n- [`example`](./apps/example): Example usage of 3ID Connect with Ceramic and IDX\n- [`iframe`](./apps/iframe): 3ID Connect iframe logic and UI\n- [`integration`](./apps/integration): 3ID Connect integration tests\n- [`management`](./apps/management): 3ID accounts management UI used by 3ID Connect\n\n### Others\n\n- [`public`](./public): build assets for 3idconnect.org\n\n## Licenses\n\n- Apache-2.0 OR MIT for published packages\n- UIs used by 3ID Connect may use dependencies under other licenses\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fjs-3id","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceramicstudio%2Fjs-3id","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fjs-3id/lists"}