README
3ID-Connect
⚠️ This package is slowly being phased out in favor of a new more decentralized system called IDX (https://idx.xyz) which is built on top of the Ceramic network. You can use it for now, but be aware that support will be limited as Ceramic is moving closer to a mainnet release.
Find 3ID-Connect on Ceramic here.
3ID-Connect is a 3ID account management service run in an iframe. It allows you to authenicate, manage, and permission your 3ID keys to applications. Used by default in 3box-js. identity-wallet-js handles most operations and the parent window (application) communicates with iframe service over RPC layer as defined by 3ID JSON-RPC
Right now you authenticate and link ethereum accounts to mange your 3ID, in the future other keypairs, blockchain accounts, and authentication methods can be added.
3ID-Connect Ceramic
The next verion of 3ID-Connect is being developed on Ceramic and identity-wallet-js V2. It is being developed in parallel with the current version. You can find 3ID-Connect with Ceramic support in the following repo. In the future this repo will be depracated. It is released at 3id-connect@next and available at 3idconnect.org.
Structure
- /src - Core logic and consumable interfaces for clients and iframe
- /threeIdConnect.js - Application interface (RPC client) to load iframe and return 3ID provider.
- /threeIdConnectService.js - Identity wallet instance and RPC 'server' to handle requests
- /threeIdProviderProxy.js - 3ID provider interface that relays request through RPC layer
- /iframe - all html, css, js, design assets for iframe and flow
- /public - build assets deployed for iframe
Development
Clone and install dependencies
Run Locally
Will serve iframe locally on port 30001
$ npm run start
Build
$ npm run build