{"_id":"3id-connect-codingsh","_rev":"2-e279a114468ce35dd2d03991ade25225","name":"3id-connect-codingsh","dist-tags":{"latest":"1.0.0-alpha.7"},"versions":{"1.0.0-alpha.6":{"name":"3id-connect-codingsh","version":"1.0.0-alpha.6","description":"Account management for 3ID","main":"lib/index.js","typings":"types/index.d.ts","scripts":{"lint":"eslint src","test":"jest --detectOpenHandles --coverage","build:prod:es5":"rm -rf ./lib && babel src --out-dir lib --extensions .ts","build:prod:types":"rm -rf ./types && tsc --emitDeclarationOnly --skipLibCheck","build:prod:dist":"webpack --config webpack.config.js --mode=production --output-filename index.js","build":"run-p build:prod:**","dev:iframe:build":"webpack --config webpack.config.js --mode=development --watch","dev:iframe:server:start":"http-server -c-1 -p 30001 public","start":"run-p dev:iframe:**","start:testnet":"CERAMIC_API=https://ceramic-dev.3boxlabs.com npm run start","dev:demo:server:start":"http-server -c-1 -p 30000 example","dev:demo:build":"webpack --config ./example/webpack.config.js --mode=development --watch","start:demo":"run-p dev:demo:** start","start:demo:testnet":"CERAMIC_API=https://ceramic-dev.3boxlabs.com run-p dev:demo:** start:testnet"},"jest":{"testEnvironment":"node","testPathIgnorePatterns":["node_modules","lib"]},"repository":{"type":"git","url":"git+https://github.com/3box/3id-connect.git"},"author":{"name":"3box","email":"team@3box.io"},"license":"(Apache-2.0 OR MIT)","bugs":{"url":"https://github.com/3box/3id-connect/issues"},"homepage":"https://github.com/3box/3id-connect#readme","dependencies":{"3id-blockchain-utils":"^1.1.1","3id-did-provider":"^0.1.1","@babel/runtime":"^7.12.5","@ceramicnetwork/http-client":"^0.8.5","@ceramicstudio/idx":"^0.4.2","@ethersproject/hdnode":"^5.0.7","caip":"^0.9.2","dag-jose":"^0.3.0","dids":"^1.1.0","errors-utils":"^0.1.0","postmsg-rpc":"^2.4.0","rpc-utils":"^0.2.0","store":"^2.0.12","url-parse":"^1.4.7"},"devDependencies":{"@babel/cli":"^7.12.8","@babel/core":"^7.12.9","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.7","@babel/preset-typescript":"^7.12.7","@ceramicnetwork/3id-did-resolver":"^0.5.3","@portis/web3":"^2.0.0-beta.57","@types/store":"^2.0.2","@types/url-parse":"^1.4.3","@walletconnect/web3-provider":"^1.2.1","authereum":"0.0.4-beta.186","babel-core":"7.0.0-bridge.0","babel-loader":"^8.2.2","css-loader":"^2.1.1","css-to-string-loader":"^0.1.3","eslint":"^7.14.0","eslint-config-3box":"^0.2.0","fortmatic":"^2.2.1","http-server":"^0.12.3","ipfs":"^0.52.2","jest":"^26.6.3","node-sass":"^4.13.1","npm":"^6.14.9","npm-run-all":"^4.1.5","prettier":"^2.2.1","sass-loader":"^8.0.2","style-loader":"^0.23.1","svg-inline-loader":"^0.8.2","typescript":"^4.1.2","url-loader":"^4.0.0","web3modal":"^1.9.2","webpack":"^4.20.2","webpack-bundle-analyzer":"^3.9.0","webpack-cli":"^3.1.2"},"gitHead":"4aca626e2e667a3fb121397c3229110abaf6771b","_id":"3id-connect-codingsh@1.0.0-alpha.6","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Gm6lZ2mJXzFENcKPm1LiCfuuGOSv1UVER+YJm1UEqXxZYJsfhBikBBq9331FfcpQUl6QwjY359JMzLuFzkhtTA==","shasum":"58967a1ee67f4ac9666c9b074873d1f816ad98c0","tarball":"https://registry.npmjs.org/3id-connect-codingsh/-/3id-connect-codingsh-1.0.0-alpha.6.tgz","fileCount":2,"unpackedSize":6962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2hCSCRA9TVsSAnZWagAAPrcP/0jpT+uhSED2If9Zt9qg\nUHS0EPToFxj7OdEy3UneSktn+yoe1v64Ish/yxjuxBmNgOgvwifQaYmio7HY\nphXGgjRU0PcnCUGI+jXHR5BwO/Drby8NQhgx7Nu1n3EjE7YlRJJrStMFe9IW\nCC3NND2KOXLc6ISCv7ohKVlPjJ0vSK6dFjXIkbZZ6+OUFeHENIVH4hFOvroT\nHdd776vY3VV/Fp+gyRzypwJgNpIXWJaZ+mSz5sCTYZe9+eQwfTOfqLCPkjsG\nHT3RU89lkDeLEx9dTl3MSBD4cp6TGYuknFcOP6/aySKHW2f2Z8ICzSBXGqf/\nuMakoq69bIgojhKgsNz9HwV9cR3zjPRzZYircnWMuA2mJiV/sSUEv2m47GsZ\nNMgI9eVst3z41CK48G0C8185FU1wKcdRs54LVYtiIfQTXk6NeUgVNrYhfh+v\nO3x3kPVIGfpXB0ot+0EdNXtemWd8XrEuFHqCD9aVnlcEQauznuoz+xHHgCvY\nh7ipMbVYRzQKwAo1UE7r7Q06lWi5C4HRH/2KSD/UT96yjHJ/ucWsBTkzONfO\nsFCK9nLD9tbbJ2NsmlydASmW+fqB3MD7l59NDirF5bezcUscD249ZxnyHcgq\nGFsRe30hWrAfGTBjF8UE3ZuIv6wDq5fNKFA8wQwS7yREpRsSarOTdCeiGPPu\nkXjs\r\n=6dhc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnDfrAstDP3EkDCYj9PxH3aeARAyX+NYTOLYja5YERsgIgORMHYS9A6SZGT20ZAW1X6I0x91bHzIRLQjHHqC8NyCo="}]},"_npmUser":{"name":"codingsh","email":"codingsh@pm.me"},"directories":{},"maintainers":[{"name":"codingsh","email":"codingsh@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/3id-connect-codingsh_1.0.0-alpha.6_1608126609871_0.19283569887801377"},"_hasShrinkwrap":false},"1.0.0-alpha.7":{"name":"3id-connect-codingsh","version":"1.0.0-alpha.7","description":"Account management for 3ID","main":"lib/index.js","typings":"types/index.d.ts","scripts":{"lint":"eslint src","test":"jest --detectOpenHandles --coverage","build:prod:es5":"rm -rf ./lib && babel src --out-dir lib --extensions .ts","build:prod:types":"rm -rf ./types && tsc --emitDeclarationOnly --skipLibCheck","build:prod:dist":"webpack --config webpack.config.js --mode=production --output-filename index.js","build":"run-p build:prod:**","dev:iframe:build":"webpack --config webpack.config.js --mode=development --watch","dev:iframe:server:start":"http-server -c-1 -p 30001 public","start":"run-p dev:iframe:**","start:testnet":"CERAMIC_API=https://ceramic-dev.3boxlabs.com npm run start","dev:demo:server:start":"http-server -c-1 -p 30000 example","dev:demo:build":"webpack --config ./example/webpack.config.js --mode=development --watch","start:demo":"run-p dev:demo:** start","start:demo:testnet":"CERAMIC_API=https://ceramic-dev.3boxlabs.com run-p dev:demo:** start:testnet"},"jest":{"testEnvironment":"node","testPathIgnorePatterns":["node_modules","lib"]},"repository":{"type":"git","url":"git+https://github.com/3box/3id-connect.git"},"author":{"name":"3box","email":"team@3box.io"},"license":"(Apache-2.0 OR MIT)","bugs":{"url":"https://github.com/3box/3id-connect/issues"},"homepage":"https://github.com/3box/3id-connect#readme","dependencies":{"3id-blockchain-utils":"^1.1.1","3id-did-provider":"^0.1.1","@babel/runtime":"^7.12.5","@ceramicnetwork/http-client":"^0.8.5","@ceramicstudio/idx":"^0.4.2","@ethersproject/hdnode":"^5.0.7","caip":"^0.9.2","dag-jose":"^0.3.0","dids":"^1.1.0","errors-utils":"^0.1.0","postmsg-rpc":"^2.4.0","rpc-utils":"^0.2.0","store":"^2.0.12","url-parse":"^1.4.7"},"devDependencies":{"@babel/cli":"^7.12.8","@babel/core":"^7.12.9","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.12.7","@babel/preset-typescript":"^7.12.7","@ceramicnetwork/3id-did-resolver":"^0.5.3","@portis/web3":"^2.0.0-beta.57","@types/store":"^2.0.2","@types/url-parse":"^1.4.3","@walletconnect/web3-provider":"^1.2.1","authereum":"0.0.4-beta.186","babel-core":"7.0.0-bridge.0","babel-loader":"^8.2.2","css-loader":"^2.1.1","css-to-string-loader":"^0.1.3","eslint":"^7.14.0","eslint-config-3box":"^0.2.0","fortmatic":"^2.2.1","http-server":"^0.12.3","ipfs":"^0.52.2","jest":"^26.6.3","node-sass":"^4.13.1","npm":"^6.14.9","npm-run-all":"^4.1.5","prettier":"^2.2.1","sass-loader":"^8.0.2","style-loader":"^0.23.1","svg-inline-loader":"^0.8.2","typescript":"^4.1.2","url-loader":"^4.0.0","web3modal":"^1.9.2","webpack":"^4.20.2","webpack-bundle-analyzer":"^3.9.0","webpack-cli":"^3.1.2"},"gitHead":"bffa128a77a37dc92538cc942c491d82dcc7d9bb","_id":"3id-connect-codingsh@1.0.0-alpha.7","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-xKkeZjl3QsnyxluZln1O6GWRfqUbrjQeU5jVtPZyJnpAG/7SMjB2beRpc4FzhXw/rB/Vdz2DEM+i7/GSdqDoig==","shasum":"4ecd3bef73e3b75c10e1cec696eec083b8b10291","tarball":"https://registry.npmjs.org/3id-connect-codingsh/-/3id-connect-codingsh-1.0.0-alpha.7.tgz","fileCount":23,"unpackedSize":100338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2hTcCRA9TVsSAnZWagAADN8P/RZQ+Cr6TTw9zVrUjyws\ncv8v8lPRM5uw+U/qy5UVTGNBZJ6QyL765TTvio7IGAYxgUrJGqcECRzWnW5o\nf88CmE/w7k0oyAhrJeBN5tAuhuRLb6+ncuZpDPg0GIU9AjPQu6qyungccxgs\nMTVAU7X9IBI431g7GMpz5QTSly1BJF6J9SvGABgojVN0V2g/M0yC1JB6xBPo\nKfD/eFqCJLTCvrj+L2i9qYFKJazE9o86PSZPbi2mU2+/hkzH9psgbiMmVH+J\nVb/avMgQYu66vM0Bdneg7tBFj7Q/hJhWt2/ikfvHHbybD+ML7kRJqDJDh3Ee\naTUFGNIKUmEYB017cN7m5U2QUIgsaTG4SRWvb3yhkUxwFAClHJhcrEP5Z3Xs\nKShgxjWQzeOt/RB5mNiOWbUQhrUvPqx7eqvERvRFn0DK9lnkFV5oRN4Oouxp\nkpuG8mFBPHcRBe851Ja51stF8gAhhlF02olxeYl0zZe5LPEIReP4F3QvXLK9\n4bU4+7ojMPv8PRKI5Oqj9vo/azG83dNqDvXk3/s8O4siKyH33MgIyG8K4jpG\nCb8jtjo5gjTebXPQdXDK3sN8R/LdbSYNPANvA8lCynCJ6TfY6gNkHIdRWu1k\n8tfrJ5Z5aHCmY2VZ8l2VblTBav4XFdaLx8x1I/7wzLOXUbVeT8VZs8YleAhn\nX6g6\r\n=gRMM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDO5Yuz6hERyo0CJ0EgthTB9PZpA6iljgbQNxzD5XVCLgIhAMtef4h2/2ImAN02AgCBWt4rq+Q9hnQTSpeRu1SQl0eL"}]},"_npmUser":{"name":"codingsh","email":"codingsh@pm.me"},"directories":{},"maintainers":[{"name":"codingsh","email":"codingsh@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/3id-connect-codingsh_1.0.0-alpha.7_1608127707510_0.48093791187336343"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-16T13:50:09.870Z","1.0.0-alpha.6":"2020-12-16T13:50:09.972Z","modified":"2022-04-04T10:21:39.070Z","1.0.0-alpha.7":"2020-12-16T14:08:27.683Z"},"maintainers":[{"name":"codingsh","email":"codingsh@pm.me"}],"description":"Account management for 3ID","homepage":"https://github.com/3box/3id-connect#readme","repository":{"type":"git","url":"git+https://github.com/3box/3id-connect.git"},"author":{"name":"3box","email":"team@3box.io"},"bugs":{"url":"https://github.com/3box/3id-connect/issues"},"license":"(Apache-2.0 OR MIT)","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&style=social)](https://twitter.com/ceramicnetwork)\n\n# <a name=\"intro\"></a> 3ID-Connect\n\n![3ID Connect Image](./assets/3id-connect_readme-image.png)\n\n3ID 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. It allows users to authenticate, manage, link and permission their 3ID keys to applications. The 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. 3id-connect with Ceramic support is only available at 3id-connect@next and 3idconnect.org at the moment.\n\n## <a name=\"use\"></a> Use\n\n```\nnpm install 3id-connect@next\n```\n\nExample usage with an ethereum provider and related auth provider.\n\n```js\nimport { ThreeIdConnect,  EthereumAuthProvider } from '@ceramicstudio/3id-connect'\n\n// assuming ethereum provider available or on window\nconst addresses = await provider.enable()\n\nconst authProvider = new EthereumAuthProvider(provider, addresses[0])\nawait threeIdConnect.connect(authProvider)\n\nconst didProvider = await threeIdConnect.getDidProvider()\n\n// now consume didProvider in ceramic clients, idx, dids libraries, etc\n```\n\n## <a name=\"structure\"></a> Structure\n\n- **/src** - Core logic and consumable interfaces for clients and iframe\n  - **/threeIdConnect.ts** - Application interface (RPC client) to load iframe and return 3ID provider.\n  - **/connectService.ts** - Identity wallet instance and RPC 'server' to handle requests\n  - **/didProviderProxy.ts** - DID provider interface that relays request through RPC layer\n  - **/authProvider** - 3ID connect (client) consumes an auth provider, auth providers can be implemented to support many different blockchain accounts and authentication methods\n    - **/abstractAuthProvider.ts** - Interface used to implement a auth provider\n    - **/ethereumAuthProvider.ts** - Ethereum auth provider, to link and authenticate with ethereum accounts\n- **/iframe** - all html, css, js, design assets for iframe and flow\n- **/public** - build assets deployed for iframe\n\n## <a name=\"development\"></a> Development\n\nClone and install dependencies\n\n\n#### Run Iframe Locally\n\n```\n$ npm run start\n```\n\nThe iframe will be served locally on port 30001. The iframe service also requires a Ceramic node, by default it will look for a locally running node. The quickest way to run a node is with the Ceramic CLI. \n\n```\n$ npm install -g @ceramicnetwork/cli\n& ceramic daemon\n```\n\nYou can also run the iframe and connect to a remote testnet Ceramic node. \n\n```\n$ npm run start:testnet\n```\n\nAnd lastly connect the iframe to any Ceramic node. \n\n```\n$ CERAMIC_API=https://yourceramicnode:port npm run start\n```\n\n\n#### Run Demo\n\nThe Demo application is served on port 30000, and connects to a locally running iframe, as described above. Demo application is found in the `/example` folder. \n\n```\n$ npm run start:demo\n```\n\nYou can also pass the same options to the local iframe with similar commands. \n\n```\n$ npm run start:demo:testnet\n// or \n$ CERAMIC_API=https://yourceramicnode:port npm run start:demo\n```\n\n#### Build\n\n```\n$ npm run build\n```\n\n## Maintainers\n[@zachferland](https://github.com/zachferland)\n","readmeFilename":"README.md"}