{"action":"created","issue":{"url":"https://api.github.com/repos/orbitdb/orbit-db-identity-provider/issues/8","repository_url":"https://api.github.com/repos/orbitdb/orbit-db-identity-provider","labels_url":"https://api.github.com/repos/orbitdb/orbit-db-identity-provider/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/orbitdb/orbit-db-identity-provider/issues/8/comments","events_url":"https://api.github.com/repos/orbitdb/orbit-db-identity-provider/issues/8/events","html_url":"https://github.com/orbitdb/orbit-db-identity-provider/issues/8","id":355738138,"node_id":"MDU6SXNzdWUzNTU3MzgxMzg=","number":8,"title":"Identity / IdentityProvider","user":{"login":"thiagodelgado111","id":1891013,"node_id":"MDQ6VXNlcjE4OTEwMTM=","avatar_url":"https://avatars3.githubusercontent.com/u/1891013?v=4","gravatar_id":"","url":"https://api.github.com/users/thiagodelgado111","html_url":"https://github.com/thiagodelgado111","followers_url":"https://api.github.com/users/thiagodelgado111/followers","following_url":"https://api.github.com/users/thiagodelgado111/following{/other_user}","gists_url":"https://api.github.com/users/thiagodelgado111/gists{/gist_id}","starred_url":"https://api.github.com/users/thiagodelgado111/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thiagodelgado111/subscriptions","organizations_url":"https://api.github.com/users/thiagodelgado111/orgs","repos_url":"https://api.github.com/users/thiagodelgado111/repos","events_url":"https://api.github.com/users/thiagodelgado111/events{/privacy}","received_events_url":"https://api.github.com/users/thiagodelgado111/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-08-30T20:17:30Z","updated_at":"2018-08-31T05:46:07Z","closed_at":null,"author_association":"NONE","body":"I was looking at the `feat/identity` PR again. This is how the `Identity` looks now on the left and how I imagine it could look on the right (sorry for the horrible handwriting):\r\n\r\n![image](https://user-images.githubusercontent.com/1891013/44876057-48111e80-ac76-11e8-9abb-f15bfde36c88.png)\r\n\r\n**Key**\r\n- `publicKey : String | Buffer`\r\n- `privateKey : String | Buffer`\r\n- `encoding : String (e.g: hex)`\r\n\r\nThe basic **Identity** object would look like this:\r\n- `id: String`\r\n- `key: Key`\r\n- ~`provider : IdentityProvider (?)`~\r\n- `type: String` (eg. ColonyIdentity, Ethereum address, IPFS PeerID, Dat address, DID, even Twitter can be an IdentityProvider)\r\n- `sign: (e: Object) => { key: Key, signature: String }`\r\n- `verify : (e: Entry) => boolean`\r\n- `(signature) orbitKeyOwnershipProof : String`\r\n- `(pkSignature) externalIdentityOwnershipProof : String`\r\n\r\n`sign` and `verify` would be provided by the `IdentityProvider` so when we create an identity the object get a hold on whatever the implementation is. \r\n\r\nThis way we don't need to pass the provider to the log but just the identity object which will be responsible for signing and verifying entries (and to provide the necessary info for the AccessController `canAppend` method). \r\n\r\nHow does it sound?"},"comment":{"url":"https://api.github.com/repos/orbitdb/orbit-db-identity-provider/issues/comments/417558383","html_url":"https://github.com/orbitdb/orbit-db-identity-provider/issues/8#issuecomment-417558383","issue_url":"https://api.github.com/repos/orbitdb/orbit-db-identity-provider/issues/8","id":417558383,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNzU1ODM4Mw==","user":{"login":"shamb0t","id":2730657,"node_id":"MDQ6VXNlcjI3MzA2NTc=","avatar_url":"https://avatars3.githubusercontent.com/u/2730657?v=4","gravatar_id":"","url":"https://api.github.com/users/shamb0t","html_url":"https://github.com/shamb0t","followers_url":"https://api.github.com/users/shamb0t/followers","following_url":"https://api.github.com/users/shamb0t/following{/other_user}","gists_url":"https://api.github.com/users/shamb0t/gists{/gist_id}","starred_url":"https://api.github.com/users/shamb0t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shamb0t/subscriptions","organizations_url":"https://api.github.com/users/shamb0t/orgs","repos_url":"https://api.github.com/users/shamb0t/repos","events_url":"https://api.github.com/users/shamb0t/events{/privacy}","received_events_url":"https://api.github.com/users/shamb0t/received_events","type":"User","site_admin":false},"created_at":"2018-08-31T05:46:07Z","updated_at":"2018-08-31T05:46:07Z","author_association":"COLLABORATOR","body":"Hey thanks for checking this out, Thiago! The identity needs to be serialized, how do you envision serializing the sign and verify functions? Why do you want to include a key pair? The private key should not be a part of identity imo, it is for public information."}}
{"actor":{"display_login":"shamb0t"}}