From 2df03d61d43c9f10d619045d4b28c5d8dcc9d121 Mon Sep 17 00:00:00 2001 From: Ryan Shea Date: Sat, 4 Mar 2017 11:30:27 -0500 Subject: [PATCH 1/3] fix profile token file unit tests --- src/testing/browser/test.html | 2 +- src/testing/profilesUnitTests.es6 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/testing/browser/test.html b/src/testing/browser/test.html index cc685753..c20ec3c5 100644 --- a/src/testing/browser/test.html +++ b/src/testing/browser/test.html @@ -1,4 +1,4 @@ - + diff --git a/src/testing/profilesUnitTests.es6 b/src/testing/profilesUnitTests.es6 index c591fc68..c756099d 100644 --- a/src/testing/profilesUnitTests.es6 +++ b/src/testing/profilesUnitTests.es6 @@ -45,7 +45,7 @@ function testTokening(filename, profile) { tokenRecords = [wrapProfileToken(signProfileToken(profile, privateKey))] t.ok(tokenRecords, 'Tokens should have been created') //console.log(JSON.stringify(tokenRecords, null, 2)) - fs.writeFileSync('./docs/token-files/' + filename, JSON.stringify(tokenRecords, null, 2)) + //fs.writeFileSync('./docs/token-files/' + filename, JSON.stringify(tokenRecords, null, 2)) let tokensVerified = true tokenRecords.map((tokenRecord) => { @@ -133,7 +133,7 @@ function testSchemas() { let token = personObject.toToken(privateKey) let tokenRecords = [wrapProfileToken(token)] t.ok(tokenRecords, 'Person profile tokens should have been created') - fs.writeFileSync('./docs/token-files/naval-4-tokens.json', JSON.stringify(tokenRecords, null, 2)) + //fs.writeFileSync('./docs/token-files/naval-4-tokens.json', JSON.stringify(tokenRecords, null, 2)) let profileObject2 = Person.fromToken(tokenRecords[0].token, publicKey) t.ok(profileObject2, 'Person profile should have been reconstructed from tokens') From 7b36ed8bac897b155ff0e88224d481b4a0e9c681 Mon Sep 17 00:00:00 2001 From: Ryan Shea Date: Sat, 4 Mar 2017 11:33:50 -0500 Subject: [PATCH 2/3] add docs/token-files folder back in --- .gitignore | 1 - docs/token-files/balloonDog.json | 37 ++++++++++ docs/token-files/google.json | 60 +++++++++++++++ docs/token-files/naval-4-tokens.json | 106 +++++++++++++++++++++++++++ docs/token-files/naval.json | 106 +++++++++++++++++++++++++++ docs/token-files/ryan.json | 93 +++++++++++++++++++++++ docs/token-files/ryan_apr20.json | 43 +++++++++++ 7 files changed, 445 insertions(+), 1 deletion(-) create mode 100644 docs/token-files/balloonDog.json create mode 100644 docs/token-files/google.json create mode 100644 docs/token-files/naval-4-tokens.json create mode 100644 docs/token-files/naval.json create mode 100644 docs/token-files/ryan.json create mode 100644 docs/token-files/ryan_apr20.json diff --git a/.gitignore b/.gitignore index f40ae4e7..5966cc33 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,5 @@ unused # Folder to ignore for development with es6 lib -docs/token-files/*.json src/testing/browser/blockstack-proofs.js diff --git a/docs/token-files/balloonDog.json b/docs/token-files/balloonDog.json new file mode 100644 index 00000000..a76a3896 --- /dev/null +++ b/docs/token-files/balloonDog.json @@ -0,0 +1,37 @@ +[ + { + "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJqdGkiOiJhMzU4MzdmNS1jOGNmLTRiYTMtYjk4ZS03OTY5YTUzZmVjNDgiLCJpYXQiOiIyMDE3LTAzLTA0VDE2OjEzOjA2Ljc5MFoiLCJleHAiOiIyMDE4LTAzLTA0VDE2OjEzOjA2Ljc5MFoiLCJzdWJqZWN0Ijp7InB1YmxpY0tleSI6IjAzZTdhNGQ3OTgzMzY5ZDMzZWQxMzAyMDg4NTk4NWQ2OGY4YjA1ZGVlNjE2OGY3NWY5ZDk3ZTFhMDcyY2RmY2RjNSJ9LCJpc3N1ZXIiOnsicHVibGljS2V5IjoiMDNlN2E0ZDc5ODMzNjlkMzNlZDEzMDIwODg1OTg1ZDY4ZjhiMDVkZWU2MTY4Zjc1ZjlkOTdlMWEwNzJjZGZjZGM1In0sImNsYWltIjp7IkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcvIiwiQHR5cGUiOiJDcmVhdGl2ZVdvcmsiLCJuYW1lIjoiQmFsbG9vbiBEb2ciLCJjcmVhdG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6InRoZXJlYWxqZWZma29vbnMuaWQiLCJuYW1lIjoiSmVmZiBLb29ucyJ9XSwiZGF0ZUNyZWF0ZWQiOiIxOTk0LTA1LTA5VDAwOjAwOjAwLTA0MDAiLCJkYXRlUHVibGlzaGVkIjoiMjAxNS0xMi0xMFQxNDo0NDoyNi0wNTAwIn19.MF7ru91rk8IIKNEEqo9wjLHkvW3jSlcDJmeZZeOVSj9KlXApBp67q_3ke0-LzSO_YyYsUnGOplMYiNxY1XynAA", + "decodedToken": { + "header": { + "typ": "JWT", + "alg": "ES256K" + }, + "payload": { + "jti": "a35837f5-c8cf-4ba3-b98e-7969a53fec48", + "iat": "2017-03-04T16:13:06.790Z", + "exp": "2018-03-04T16:13:06.790Z", + "subject": { + "publicKey": "03e7a4d7983369d33ed13020885985d68f8b05dee6168f75f9d97e1a072cdfcdc5" + }, + "issuer": { + "publicKey": "03e7a4d7983369d33ed13020885985d68f8b05dee6168f75f9d97e1a072cdfcdc5" + }, + "claim": { + "@context": "http://schema.org/", + "@type": "CreativeWork", + "name": "Balloon Dog", + "creator": [ + { + "@type": "Person", + "@id": "therealjeffkoons.id", + "name": "Jeff Koons" + } + ], + "dateCreated": "1994-05-09T00:00:00-0400", + "datePublished": "2015-12-10T14:44:26-0500" + } + }, + "signature": "MF7ru91rk8IIKNEEqo9wjLHkvW3jSlcDJmeZZeOVSj9KlXApBp67q_3ke0-LzSO_YyYsUnGOplMYiNxY1XynAA" + } + } +] \ No newline at end of file diff --git a/docs/token-files/google.json b/docs/token-files/google.json new file mode 100644 index 00000000..8aa1b6cf --- /dev/null +++ b/docs/token-files/google.json @@ -0,0 +1,60 @@ +[ + { + "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJqdGkiOiJlOWFjNzVhZi0xOGViLTRmNWQtYTViNy0zNTc5ODQ5MDk1NTQiLCJpYXQiOiIyMDE3LTAzLTA0VDE2OjEzOjA2LjczMVoiLCJleHAiOiIyMDE4LTAzLTA0VDE2OjEzOjA2LjczMVoiLCJzdWJqZWN0Ijp7InB1YmxpY0tleSI6IjAzNTRhNGI5NzExMDBkYTBjMGJlMzQ4ZmM2MmEzMDc1N2QxMTVjYjQwNDRhZGZlZDNkMzJlNDgyOThmOWJjZmQwYyJ9LCJpc3N1ZXIiOnsicHVibGljS2V5IjoiMDM1NGE0Yjk3MTEwMGRhMGMwYmUzNDhmYzYyYTMwNzU3ZDExNWNiNDA0NGFkZmVkM2QzMmU0ODI5OGY5YmNmZDBjIn0sImNsYWltIjp7IkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcvIiwiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiR29vZ2xlIiwibGVnYWxOYW1lIjoiR29vZ2xlIEluYy4iLCJlbWFpbCI6ImhlbGxvQGdvb2dsZS5vcmciLCJhZGRyZXNzIjp7IkB0eXBlIjoiUG9zdGFsQWRkcmVzcyIsImFkZHJlc3NMb2NhbGl0eSI6Ik1vdW50YWluIFZpZXcsIENBIiwicG9zdGFsQ29kZSI6Ijk0MDQzIiwic3RyZWV0QWRkcmVzcyI6IjE2MDAgQW1waGl0aGVhdHJlIFBhcmt3YXkifSwiZW1wbG95ZWUiOlt7IkB0eXBlIjoiUGVyc29uIiwiQGlkIjoibGFycnlwYWdlLmlkIiwibmFtZSI6IkxhcnJ5IFBhZ2UifSx7IkB0eXBlIjoiUGVyc29uIiwiQGlkIjoic2VyZ2V5YnJpbi5pZCIsIm5hbWUiOiJTZXJnZXkgQnJpbiJ9XSwiaW1hZ2UiOlt7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLCJuYW1lIjoibG9nbyIsImNvbnRlbnRVcmwiOiJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzJ4L2dvb2dsZWxvZ29fY29sb3JfMjcyeDkyZHAucG5nIn1dLCJwYXJlbnRPcmdhbml6YXRpb24iOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJAaWQiOiJhbHBoYWJldC5pZCIsIm5hbWUiOiJBbHBoYWJldCBJbmMuIn19fQ.OAZlxaE2iaq9EAgPytM7qLtgNaIzo-Hnd7XMPRypbiy1tJuUovWRDPKWh_XAx5F87stXh9OGcP_WYP9t1k24Ag", + "decodedToken": { + "header": { + "typ": "JWT", + "alg": "ES256K" + }, + "payload": { + "jti": "e9ac75af-18eb-4f5d-a5b7-357984909554", + "iat": "2017-03-04T16:13:06.731Z", + "exp": "2018-03-04T16:13:06.731Z", + "subject": { + "publicKey": "0354a4b971100da0c0be348fc62a30757d115cb4044adfed3d32e48298f9bcfd0c" + }, + "issuer": { + "publicKey": "0354a4b971100da0c0be348fc62a30757d115cb4044adfed3d32e48298f9bcfd0c" + }, + "claim": { + "@context": "http://schema.org/", + "@type": "Organization", + "name": "Google", + "legalName": "Google Inc.", + "email": "hello@google.org", + "address": { + "@type": "PostalAddress", + "addressLocality": "Mountain View, CA", + "postalCode": "94043", + "streetAddress": "1600 Amphitheatre Parkway" + }, + "employee": [ + { + "@type": "Person", + "@id": "larrypage.id", + "name": "Larry Page" + }, + { + "@type": "Person", + "@id": "sergeybrin.id", + "name": "Sergey Brin" + } + ], + "image": [ + { + "@type": "ImageObject", + "name": "logo", + "contentUrl": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" + } + ], + "parentOrganization": { + "@type": "Organization", + "@id": "alphabet.id", + "name": "Alphabet Inc." + } + } + }, + "signature": "OAZlxaE2iaq9EAgPytM7qLtgNaIzo-Hnd7XMPRypbiy1tJuUovWRDPKWh_XAx5F87stXh9OGcP_WYP9t1k24Ag" + } + } +] \ No newline at end of file diff --git a/docs/token-files/naval-4-tokens.json b/docs/token-files/naval-4-tokens.json new file mode 100644 index 00000000..f9b1560b --- /dev/null +++ b/docs/token-files/naval-4-tokens.json @@ -0,0 +1,106 @@ +[ + { + "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJqdGkiOiJlYzZjMDQxOS04MDFlLTQzMDgtYWU5NS1iY2FlMGI1OGUwYWIiLCJpYXQiOiIyMDE3LTAzLTA0VDE2OjEzOjA2Ljg1NloiLCJleHAiOiIyMDE4LTAzLTA0VDE2OjEzOjA2Ljg1NloiLCJzdWJqZWN0Ijp7InB1YmxpY0tleSI6IjAyMzVkY2I0NGMwYzZmYjg3MGZmOWM2MDI5NTAwYzBlZWQ1NDFlYWEwNGQ3ZGQxZjk5YTUxYTE1MjlhNmUxYjljYiJ9LCJpc3N1ZXIiOnsicHVibGljS2V5IjoiMDIzNWRjYjQ0YzBjNmZiODcwZmY5YzYwMjk1MDBjMGVlZDU0MWVhYTA0ZDdkZDFmOTlhNTFhMTUyOWE2ZTFiOWNiIn0sImNsYWltIjp7IkB0eXBlIjoiUGVyc29uIiwiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZy8iLCJuYW1lIjoiTmF2YWwgUmF2aWthbnQiLCJnaXZlbk5hbWUiOiJOYXZhbCIsImZhbWlseU5hbWUiOiJSYXZpa2FudCIsImRlc2NyaXB0aW9uIjoiQ28tZm91bmRlciBvZiBBbmdlbExpc3QiLCJpbWFnZSI6W3siQHR5cGUiOiJJbWFnZU9iamVjdCIsIm5hbWUiOiJhdmF0YXIiLCJjb250ZW50VXJsIjoiaHR0cHM6Ly9wYnMudHdpbWcuY29tL3Byb2ZpbGVfaW1hZ2VzLzM2OTY2MTczMjgvNjY3ODc0YzU5MzY3NjRkOTNkNTZjY2M3NmEyYmNjMTMuanBlZyJ9LHsiQHR5cGUiOiJJbWFnZU9iamVjdCIsIm5hbWUiOiJiYWNrZ3JvdW5kIiwiY29udGVudFVybCI6Imh0dHBzOi8vcGJzLnR3aW1nLmNvbS9wcm9maWxlX2Jhbm5lcnMvNzQ1MjczLzEzNTU3MDU3Nzcvd2ViX3JldGluYSJ9XSwid2Vic2l0ZSI6W3siQHR5cGUiOiJXZWJTaXRlIiwidXJsIjoiYW5nZWwuY28ifV0sImFjY291bnQiOlt7IkB0eXBlIjoiQWNjb3VudCIsInNlcnZpY2UiOiJmYWNlYm9vayIsImlkZW50aWZpZXIiOiJuYXZhbHIiLCJwcm9vZlR5cGUiOiJodHRwIiwicHJvb2ZVcmwiOiJodHRwczovL2ZhY2Vib29rLmNvbS9uYXZhbHIvcG9zdHMvMTAxNTIxOTA3MzQwNzcyNjEifSx7IkB0eXBlIjoiQWNjb3VudCIsInNlcnZpY2UiOiJ0d2l0dGVyIiwiaWRlbnRpZmllciI6Im5hdmFsIiwicHJvb2ZUeXBlIjoiaHR0cCIsInByb29mVXJsIjoiaHR0cHM6Ly90d2l0dGVyLmNvbS9uYXZhbC9zdGF0dXMvNDg2NjA5MjY2MjEyNDk5NDU2In0seyJAdHlwZSI6IkFjY291bnQiLCJzZXJ2aWNlIjoiZ2l0aHViIiwiaWRlbnRpZmllciI6Im5hdmFsciIsInByb29mVHlwZSI6Imh0dHAiLCJwcm9vZlVybCI6Imh0dHBzOi8vZ2lzdC5naXRodWIuY29tL25hdmFsci9mMzFhNzQwNTRmODU5ZWMwYWM2YSJ9LHsiQHR5cGUiOiJBY2NvdW50Iiwic2VydmljZSI6ImJpdGNvaW4iLCJyb2xlIjoicGF5bWVudCIsImlkZW50aWZpZXIiOiIxOTE5VXJoWXloczQ3MXBzOENGY0ozRFJwV1NkYThxdFNrIiwicHJvb2ZUeXBlIjoic2lnbmF0dXJlIiwicHJvb2ZNZXNzYWdlIjoiVmVyaWZ5aW5nIHRoYXQgK25hdmFsIGlzIG15IGJsb2NrY2hhaW4gSUQuIiwicHJvb2ZTaWduYXR1cmUiOiJJQ3VSQStEcTVEbjhBaVk5UCttY0x6R3lpYlBnRzBlYzlDcGh0TWs1MTJ1UGRCNWVBbmNEU0hoUVpZLzdreWN2bDZQTEZFdVIrajNPTS9LMlZleTErRVU9In1dLCJ3b3Jrc0ZvciI6W3siQHR5cGUiOiJPcmdhbml6YXRpb24iLCJAaWQiOiJhbmdlbGxpc3QuaWQifV0sImtub3dzIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6Im11bmVlYi5pZCJ9LHsiQHR5cGUiOiJQZXJzb24iLCJAaWQiOiJyeWFuLmlkIn1dLCJiaXJ0aERhdGUiOiIxOTczLTAxLTAxIiwidGF4SUQiOiIwMDAtMDAtMDAwMCIsImFkZHJlc3MiOnsiQHR5cGUiOiJQb3N0YWxBZGRyZXNzIiwic3RyZWV0QWRkcmVzcyI6IjE2IE1haWRlbiBMbiIsImFkZHJlc3NMb2NhbGl0eSI6IlNhbiBGcmFuY2lzY28sIENBIiwicG9zdGFsQ29kZSI6Ijk0MTA4IiwiYWRkcmVzc0NvdW50cnkiOiJVbml0ZWQgU3RhdGVzIn19fQ.jaPhSfcOGuwWBAM1--pnVcaEpt0YhQ0o7bS5C7ZWDYMZ_ws6a77mH5dkv25HSFFQEukjibtn2X4kK28nhozyNw", + "decodedToken": { + "header": { + "typ": "JWT", + "alg": "ES256K" + }, + "payload": { + "jti": "ec6c0419-801e-4308-ae95-bcae0b58e0ab", + "iat": "2017-03-04T16:13:06.856Z", + "exp": "2018-03-04T16:13:06.856Z", + "subject": { + "publicKey": "0235dcb44c0c6fb870ff9c6029500c0eed541eaa04d7dd1f99a51a1529a6e1b9cb" + }, + "issuer": { + "publicKey": "0235dcb44c0c6fb870ff9c6029500c0eed541eaa04d7dd1f99a51a1529a6e1b9cb" + }, + "claim": { + "@type": "Person", + "@context": "http://schema.org/", + "name": "Naval Ravikant", + "givenName": "Naval", + "familyName": "Ravikant", + "description": "Co-founder of AngelList", + "image": [ + { + "@type": "ImageObject", + "name": "avatar", + "contentUrl": "https://pbs.twimg.com/profile_images/3696617328/667874c5936764d93d56ccc76a2bcc13.jpeg" + }, + { + "@type": "ImageObject", + "name": "background", + "contentUrl": "https://pbs.twimg.com/profile_banners/745273/1355705777/web_retina" + } + ], + "website": [ + { + "@type": "WebSite", + "url": "angel.co" + } + ], + "account": [ + { + "@type": "Account", + "service": "facebook", + "identifier": "navalr", + "proofType": "http", + "proofUrl": "https://facebook.com/navalr/posts/10152190734077261" + }, + { + "@type": "Account", + "service": "twitter", + "identifier": "naval", + "proofType": "http", + "proofUrl": "https://twitter.com/naval/status/486609266212499456" + }, + { + "@type": "Account", + "service": "github", + "identifier": "navalr", + "proofType": "http", + "proofUrl": "https://gist.github.com/navalr/f31a74054f859ec0ac6a" + }, + { + "@type": "Account", + "service": "bitcoin", + "role": "payment", + "identifier": "1919UrhYyhs471ps8CFcJ3DRpWSda8qtSk", + "proofType": "signature", + "proofMessage": "Verifying that +naval is my blockchain ID.", + "proofSignature": "ICuRA+Dq5Dn8AiY9P+mcLzGyibPgG0ec9CphtMk512uPdB5eAncDSHhQZY/7kycvl6PLFEuR+j3OM/K2Vey1+EU=" + } + ], + "worksFor": [ + { + "@type": "Organization", + "@id": "angellist.id" + } + ], + "knows": [ + { + "@type": "Person", + "@id": "muneeb.id" + }, + { + "@type": "Person", + "@id": "ryan.id" + } + ], + "birthDate": "1973-01-01", + "taxID": "000-00-0000", + "address": { + "@type": "PostalAddress", + "streetAddress": "16 Maiden Ln", + "addressLocality": "San Francisco, CA", + "postalCode": "94108", + "addressCountry": "United States" + } + } + }, + "signature": "jaPhSfcOGuwWBAM1--pnVcaEpt0YhQ0o7bS5C7ZWDYMZ_ws6a77mH5dkv25HSFFQEukjibtn2X4kK28nhozyNw" + } + } +] \ No newline at end of file diff --git a/docs/token-files/naval.json b/docs/token-files/naval.json new file mode 100644 index 00000000..ce9b8d8a --- /dev/null +++ b/docs/token-files/naval.json @@ -0,0 +1,106 @@ +[ + { + "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJqdGkiOiIzN2IyMGU1Yi1mYjNiLTRlMGEtYjYwNC1hMzBiY2UzNzdhZmQiLCJpYXQiOiIyMDE3LTAzLTA0VDE2OjEzOjA2LjY1MloiLCJleHAiOiIyMDE4LTAzLTA0VDE2OjEzOjA2LjY1MloiLCJzdWJqZWN0Ijp7InB1YmxpY0tleSI6IjAyZDJlMGYyZjMyYWFhNWZjMzg5NjMwYTU4MDhlNzgxMTQ0ZTc3NDBlYWZlMTJhODk5MWJhMTY2MDdjZTBmMzQ2NyJ9LCJpc3N1ZXIiOnsicHVibGljS2V5IjoiMDJkMmUwZjJmMzJhYWE1ZmMzODk2MzBhNTgwOGU3ODExNDRlNzc0MGVhZmUxMmE4OTkxYmExNjYwN2NlMGYzNDY3In0sImNsYWltIjp7IkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcvIiwiQHR5cGUiOiJQZXJzb24iLCJuYW1lIjoiTmF2YWwgUmF2aWthbnQiLCJnaXZlbk5hbWUiOiJOYXZhbCIsImZhbWlseU5hbWUiOiJSYXZpa2FudCIsImRlc2NyaXB0aW9uIjoiQ28tZm91bmRlciBvZiBBbmdlbExpc3QiLCJpbWFnZSI6W3siQHR5cGUiOiJJbWFnZU9iamVjdCIsIm5hbWUiOiJhdmF0YXIiLCJjb250ZW50VXJsIjoiaHR0cHM6Ly9wYnMudHdpbWcuY29tL3Byb2ZpbGVfaW1hZ2VzLzM2OTY2MTczMjgvNjY3ODc0YzU5MzY3NjRkOTNkNTZjY2M3NmEyYmNjMTMuanBlZyJ9LHsiQHR5cGUiOiJJbWFnZU9iamVjdCIsIm5hbWUiOiJiYWNrZ3JvdW5kIiwiY29udGVudFVybCI6Imh0dHBzOi8vcGJzLnR3aW1nLmNvbS9wcm9maWxlX2Jhbm5lcnMvNzQ1MjczLzEzNTU3MDU3Nzcvd2ViX3JldGluYSJ9XSwid2Vic2l0ZSI6W3siQHR5cGUiOiJXZWJTaXRlIiwidXJsIjoiYW5nZWwuY28ifV0sImFjY291bnQiOlt7IkB0eXBlIjoiQWNjb3VudCIsInNlcnZpY2UiOiJmYWNlYm9vayIsImlkZW50aWZpZXIiOiJuYXZhbHIiLCJwcm9vZlR5cGUiOiJodHRwIiwicHJvb2ZVcmwiOiJodHRwczovL2ZhY2Vib29rLmNvbS9uYXZhbHIvcG9zdHMvMTAxNTIxOTA3MzQwNzcyNjEifSx7IkB0eXBlIjoiQWNjb3VudCIsInNlcnZpY2UiOiJ0d2l0dGVyIiwiaWRlbnRpZmllciI6Im5hdmFsIiwicHJvb2ZUeXBlIjoiaHR0cCIsInByb29mVXJsIjoiaHR0cHM6Ly90d2l0dGVyLmNvbS9uYXZhbC9zdGF0dXMvNDg2NjA5MjY2MjEyNDk5NDU2In0seyJAdHlwZSI6IkFjY291bnQiLCJzZXJ2aWNlIjoiZ2l0aHViIiwiaWRlbnRpZmllciI6Im5hdmFsciIsInByb29mVHlwZSI6Imh0dHAiLCJwcm9vZlVybCI6Imh0dHBzOi8vZ2lzdC5naXRodWIuY29tL25hdmFsci9mMzFhNzQwNTRmODU5ZWMwYWM2YSJ9LHsiQHR5cGUiOiJBY2NvdW50Iiwic2VydmljZSI6ImJpdGNvaW4iLCJyb2xlIjoicGF5bWVudCIsImlkZW50aWZpZXIiOiIxOTE5VXJoWXloczQ3MXBzOENGY0ozRFJwV1NkYThxdFNrIiwicHJvb2ZUeXBlIjoic2lnbmF0dXJlIiwicHJvb2ZNZXNzYWdlIjoiVmVyaWZ5aW5nIHRoYXQgK25hdmFsIGlzIG15IGJsb2NrY2hhaW4gSUQuIiwicHJvb2ZTaWduYXR1cmUiOiJJQ3VSQStEcTVEbjhBaVk5UCttY0x6R3lpYlBnRzBlYzlDcGh0TWs1MTJ1UGRCNWVBbmNEU0hoUVpZLzdreWN2bDZQTEZFdVIrajNPTS9LMlZleTErRVU9In1dLCJ3b3Jrc0ZvciI6W3siQHR5cGUiOiJPcmdhbml6YXRpb24iLCJAaWQiOiJhbmdlbGxpc3QuaWQifV0sImtub3dzIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6Im11bmVlYi5pZCJ9LHsiQHR5cGUiOiJQZXJzb24iLCJAaWQiOiJyeWFuLmlkIn1dLCJiaXJ0aERhdGUiOiIxOTczLTAxLTAxIiwidGF4SUQiOiIwMDAtMDAtMDAwMCIsImFkZHJlc3MiOnsiQHR5cGUiOiJQb3N0YWxBZGRyZXNzIiwic3RyZWV0QWRkcmVzcyI6IjE2IE1haWRlbiBMbiIsImFkZHJlc3NMb2NhbGl0eSI6IlNhbiBGcmFuY2lzY28sIENBIiwicG9zdGFsQ29kZSI6Ijk0MTA4IiwiYWRkcmVzc0NvdW50cnkiOiJVbml0ZWQgU3RhdGVzIn19fQ.Es_kaRgC-WoKvGcZxDodYLnHmPnnZKR2vaoAVqdV18nfEuQyBFCFt2SUvdmkrcMJkTSKZGf02HmM8CGf1Z3gYg", + "decodedToken": { + "header": { + "typ": "JWT", + "alg": "ES256K" + }, + "payload": { + "jti": "37b20e5b-fb3b-4e0a-b604-a30bce377afd", + "iat": "2017-03-04T16:13:06.652Z", + "exp": "2018-03-04T16:13:06.652Z", + "subject": { + "publicKey": "02d2e0f2f32aaa5fc389630a5808e781144e7740eafe12a8991ba16607ce0f3467" + }, + "issuer": { + "publicKey": "02d2e0f2f32aaa5fc389630a5808e781144e7740eafe12a8991ba16607ce0f3467" + }, + "claim": { + "@context": "http://schema.org/", + "@type": "Person", + "name": "Naval Ravikant", + "givenName": "Naval", + "familyName": "Ravikant", + "description": "Co-founder of AngelList", + "image": [ + { + "@type": "ImageObject", + "name": "avatar", + "contentUrl": "https://pbs.twimg.com/profile_images/3696617328/667874c5936764d93d56ccc76a2bcc13.jpeg" + }, + { + "@type": "ImageObject", + "name": "background", + "contentUrl": "https://pbs.twimg.com/profile_banners/745273/1355705777/web_retina" + } + ], + "website": [ + { + "@type": "WebSite", + "url": "angel.co" + } + ], + "account": [ + { + "@type": "Account", + "service": "facebook", + "identifier": "navalr", + "proofType": "http", + "proofUrl": "https://facebook.com/navalr/posts/10152190734077261" + }, + { + "@type": "Account", + "service": "twitter", + "identifier": "naval", + "proofType": "http", + "proofUrl": "https://twitter.com/naval/status/486609266212499456" + }, + { + "@type": "Account", + "service": "github", + "identifier": "navalr", + "proofType": "http", + "proofUrl": "https://gist.github.com/navalr/f31a74054f859ec0ac6a" + }, + { + "@type": "Account", + "service": "bitcoin", + "role": "payment", + "identifier": "1919UrhYyhs471ps8CFcJ3DRpWSda8qtSk", + "proofType": "signature", + "proofMessage": "Verifying that +naval is my blockchain ID.", + "proofSignature": "ICuRA+Dq5Dn8AiY9P+mcLzGyibPgG0ec9CphtMk512uPdB5eAncDSHhQZY/7kycvl6PLFEuR+j3OM/K2Vey1+EU=" + } + ], + "worksFor": [ + { + "@type": "Organization", + "@id": "angellist.id" + } + ], + "knows": [ + { + "@type": "Person", + "@id": "muneeb.id" + }, + { + "@type": "Person", + "@id": "ryan.id" + } + ], + "birthDate": "1973-01-01", + "taxID": "000-00-0000", + "address": { + "@type": "PostalAddress", + "streetAddress": "16 Maiden Ln", + "addressLocality": "San Francisco, CA", + "postalCode": "94108", + "addressCountry": "United States" + } + } + }, + "signature": "Es_kaRgC-WoKvGcZxDodYLnHmPnnZKR2vaoAVqdV18nfEuQyBFCFt2SUvdmkrcMJkTSKZGf02HmM8CGf1Z3gYg" + } + } +] \ No newline at end of file diff --git a/docs/token-files/ryan.json b/docs/token-files/ryan.json new file mode 100644 index 00000000..c1179406 --- /dev/null +++ b/docs/token-files/ryan.json @@ -0,0 +1,93 @@ +[ + { + "decodedToken": { + "header": { + "alg": "ES256K", + "typ": "JWT" + }, + "payload": { + "issuedAt": "2016-12-21T02:20:24.575047", + "claim": { + "image": [ + { + "contentUrl": "https://s3.amazonaws.com/kd4/ryan", + "name": "avatar", + "@type": "ImageObject" + }, + { + "contentUrl": "https://s3.amazonaws.com/dx3/ryan", + "name": "cover", + "@type": "ImageObject" + } + ], + "@type": "Person", + "website": [ + { + "url": "http://shea.io", + "@type": "WebSite" + } + ], + "description": "Co-founder of Blockstack Inc.", + "address": { + "addressLocality": "New York", + "@type": "PostalAddress" + }, + "account": [ + { + "identifier": "1LFS37yRSibwbf8CnXeCn5t1GKeTEZMmu9", + "role": "payment", + "@type": "Account", + "service": "bitcoin" + }, + { + "contentUrl": "https://s3.amazonaws.com/pk9/ryan", + "identifier": "1E4329E6634C75730D4D88C0638F2769D55B9837", + "@type": "Account", + "service": "pgp" + }, + { + "identifier": "f2250123a6af138c86b30f3233b338961dc8fbc3", + "proofType": "http", + "proofUrl": "https://www.facebook.com/msrobot0/posts/10153644446452759", + "service": "openbazaar", + "@type": "Account" + }, + { + "identifier": "ryaneshea", + "proofType": "http", + "proofUrl": "https://twitter.com/ryaneshea/status/765575388735082496", + "service": "twitter", + "@type": "Account" + }, + { + "identifier": "shea256", + "proofType": "http", + "proofUrl": "https://gist.github.com/shea256/a6dc1f3182f28bb2285feaef07a14340", + "service": "github", + "@type": "Account" + }, + { + "identifier": "ryaneshea", + "proofType": "http", + "proofUrl": "https://www.facebook.com/ryaneshea/posts/10154182997407713", + "service": "facebook", + "@type": "Account" + } + ], + "name": "Ryan Shea" + }, + "expiresAt": "2017-12-21T02:20:24.575047", + "subject": { + "publicKey": "0312ccf3255cb005e42c186aa3d2302083b306a52c1f0cb47b1119639f134e6695" + }, + "issuer": { + "publicKey": "0312ccf3255cb005e42c186aa3d2302083b306a52c1f0cb47b1119639f134e6695" + } + }, + "signature": "YVoNsoJCTMcXIwqa9D5kinkUrnyppsYus7Z-8cn7o9hA6_IG9zkoZGSvsIzfqqjG1mV8JNV1Nh04CZl1qrt1YQ" + }, + "token": "eyJhbGciOiJFUzI1NksiLCJ0eXAiOiJKV1QifQ.eyJpc3N1ZWRBdCI6IjIwMTYtMTItMjFUMDI6MjA6MjQuNTc1MDQ3IiwiY2xhaW0iOnsiaW1hZ2UiOlt7ImNvbnRlbnRVcmwiOiJodHRwczovL3MzLmFtYXpvbmF3cy5jb20va2Q0L3J5YW4iLCJuYW1lIjoiYXZhdGFyIiwiQHR5cGUiOiJJbWFnZU9iamVjdCJ9LHsiY29udGVudFVybCI6Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9keDMvcnlhbiIsIm5hbWUiOiJjb3ZlciIsIkB0eXBlIjoiSW1hZ2VPYmplY3QifV0sIkB0eXBlIjoiUGVyc29uIiwid2Vic2l0ZSI6W3sidXJsIjoiaHR0cDovL3NoZWEuaW8iLCJAdHlwZSI6IldlYlNpdGUifV0sImFjY291bnQiOlt7ImlkZW50aWZpZXIiOiIxTEZTMzd5UlNpYndiZjhDblhlQ241dDFHS2VURVpNbXU5Iiwicm9sZSI6InBheW1lbnQiLCJAdHlwZSI6IkFjY291bnQiLCJzZXJ2aWNlIjoiYml0Y29pbiJ9LHsiY29udGVudFVybCI6Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9wazkvcnlhbiIsImlkZW50aWZpZXIiOiIxRTQzMjlFNjYzNEM3NTczMEQ0RDg4QzA2MzhGMjc2OUQ1NUI5ODM3IiwiQHR5cGUiOiJBY2NvdW50Iiwic2VydmljZSI6InBncCJ9LHsicHJvb2ZUeXBlIjoiaHR0cCIsImlkZW50aWZpZXIiOiJmMjI1MDEyM2E2YWYxMzhjODZiMzBmMzIzM2IzMzg5NjFkYzhmYmMzIiwicHJvb2ZVcmwiOiJodHRwczovL3d3dy5mYWNlYm9vay5jb20vbXNyb2JvdDAvcG9zdHMvMTAxNTM2NDQ0NDY0NTI3NTkiLCJzZXJ2aWNlIjoib3BlbmJhemFhciIsIkB0eXBlIjoiQWNjb3VudCJ9LHsicHJvb2ZUeXBlIjoiaHR0cCIsImlkZW50aWZpZXIiOiJyeWFuZXNoZWEiLCJwcm9vZlVybCI6Imh0dHBzOi8vdHdpdHRlci5jb20vcnlhbmVzaGVhL3N0YXR1cy83NjU1NzUzODg3MzUwODI0OTYiLCJzZXJ2aWNlIjoidHdpdHRlciIsIkB0eXBlIjoiQWNjb3VudCJ9LHsicHJvb2ZUeXBlIjoiaHR0cCIsImlkZW50aWZpZXIiOiJzaGVhMjU2IiwicHJvb2ZVcmwiOiJodHRwczovL2dpc3QuZ2l0aHViLmNvbS9zaGVhMjU2L2E2ZGMxZjMxODJmMjhiYjIyODVmZWFlZjA3YTE0MzQwIiwic2VydmljZSI6ImdpdGh1YiIsIkB0eXBlIjoiQWNjb3VudCJ9LHsicHJvb2ZUeXBlIjoiaHR0cCIsImlkZW50aWZpZXIiOiJyeWFuZXNoZWEiLCJwcm9vZlVybCI6Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9yeWFuZXNoZWEvcG9zdHMvMTAxNTQxODI5OTc0MDc3MTMiLCJzZXJ2aWNlIjoiZmFjZWJvb2siLCJAdHlwZSI6IkFjY291bnQifV0sImFkZHJlc3MiOnsiYWRkcmVzc0xvY2FsaXR5IjoiTmV3IFlvcmsiLCJAdHlwZSI6IlBvc3RhbEFkZHJlc3MifSwiZGVzY3JpcHRpb24iOiJDby1mb3VuZGVyIG9mIEJsb2Nrc3RhY2sgSW5jLiIsIm5hbWUiOiJSeWFuIFNoZWEifSwiZXhwaXJlc0F0IjoiMjAxNy0xMi0yMVQwMjoyMDoyNC41NzUwNDciLCJpc3N1ZXIiOnsicHVibGljS2V5IjoiMDMxMmNjZjMyNTVjYjAwNWU0MmMxODZhYTNkMjMwMjA4M2IzMDZhNTJjMWYwY2I0N2IxMTE5NjM5ZjEzNGU2Njk1In0sInN1YmplY3QiOnsicHVibGljS2V5IjoiMDMxMmNjZjMyNTVjYjAwNWU0MmMxODZhYTNkMjMwMjA4M2IzMDZhNTJjMWYwY2I0N2IxMTE5NjM5ZjEzNGU2Njk1In19.YVoNsoJCTMcXIwqa9D5kinkUrnyppsYus7Z-8cn7o9hA6_IG9zkoZGSvsIzfqqjG1mV8JNV1Nh04CZl1qrt1YQ", + "parentPublicKey": "0312ccf3255cb005e42c186aa3d2302083b306a52c1f0cb47b1119639f134e6695", + "encrypted": false + } +] \ No newline at end of file diff --git a/docs/token-files/ryan_apr20.json b/docs/token-files/ryan_apr20.json new file mode 100644 index 00000000..22609400 --- /dev/null +++ b/docs/token-files/ryan_apr20.json @@ -0,0 +1,43 @@ +[ + { + "decodedToken": { + "header": { + "alg": "ES256K", + "typ": "JWT" + }, + "payload": { + "issuedAt": "2016-04-20T12:25:14.453734", + "claim": { + "account": [], + "accounts": [], + "@type": "Person", + "image": [ + { + "contentUrl": "https://s3.amazonaws.com/97p/rv1.jpeg", + "@type": "ImageObject", + "name": "cover" + }, + { + "contentUrl": "https://s3.amazonaws.com/kd4/ryan_apr20", + "@type": "ImageObject", + "name": "avatar" + } + ], + "name": "Ryan Shea" + }, + "expiresAt": "2017-04-20T12:25:14.453734", + "subject": { + "publicKey": "02413d7c51118104cfe1b41e540b6c2acaaf91f1e2e22316df7448fb6070d582ec" + }, + "issuer": { + "publicKey": "02413d7c51118104cfe1b41e540b6c2acaaf91f1e2e22316df7448fb6070d582ec" + } + }, + "signature": "Xj3z975ccW6oxbrlm_YsdGNreuzERRxPoj0DyyJ9vygMYfUjsTQGcxsejmkSPYafTFd6TNIbNBTquutOKZvmBA" + }, + "token": "eyJhbGciOiJFUzI1NksiLCJ0eXAiOiJKV1QifQ.eyJpc3N1ZWRBdCI6IjIwMTYtMDQtMjBUMTI6MjU6MTQuNDUzNzM0IiwiY2xhaW0iOnsiYWNjb3VudCI6W10sImFjY291bnRzIjpbXSwiQHR5cGUiOiJQZXJzb24iLCJpbWFnZSI6W3siY29udGVudFVybCI6Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS85N3AvcnYxLmpwZWciLCJAdHlwZSI6IkltYWdlT2JqZWN0IiwibmFtZSI6ImNvdmVyIn0seyJjb250ZW50VXJsIjoiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2tkNC9yeWFuX2FwcjIwIiwiQHR5cGUiOiJJbWFnZU9iamVjdCIsIm5hbWUiOiJhdmF0YXIifV0sIm5hbWUiOiJSeWFuIFNoZWEifSwiZXhwaXJlc0F0IjoiMjAxNy0wNC0yMFQxMjoyNToxNC40NTM3MzQiLCJpc3N1ZXIiOnsicHVibGljS2V5IjoiMDI0MTNkN2M1MTExODEwNGNmZTFiNDFlNTQwYjZjMmFjYWFmOTFmMWUyZTIyMzE2ZGY3NDQ4ZmI2MDcwZDU4MmVjIn0sInN1YmplY3QiOnsicHVibGljS2V5IjoiMDI0MTNkN2M1MTExODEwNGNmZTFiNDFlNTQwYjZjMmFjYWFmOTFmMWUyZTIyMzE2ZGY3NDQ4ZmI2MDcwZDU4MmVjIn19.Xj3z975ccW6oxbrlm_YsdGNreuzERRxPoj0DyyJ9vygMYfUjsTQGcxsejmkSPYafTFd6TNIbNBTquutOKZvmBA", + "parentPublicKey": "02413d7c51118104cfe1b41e540b6c2acaaf91f1e2e22316df7448fb6070d582ec", + "publicKey": "02413d7c51118104cfe1b41e540b6c2acaaf91f1e2e22316df7448fb6070d582ec", + "encrypted": false + } +] \ No newline at end of file From 5fc535fa386d57517996fcf3d7ef9500ba187309 Mon Sep 17 00:00:00 2001 From: Ryan Shea Date: Sat, 4 Mar 2017 11:37:12 -0500 Subject: [PATCH 3/3] add a badge for build status --- README.md | 1 + package.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5327e929..c73530b3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Blockstack JS +[![CircleCI](https://img.shields.io/circleci/project/blockstack/blockstack-js/master.svg)](https://circleci.com/gh/blockstack/blockstack-js/tree/master) [![npm](https://img.shields.io/npm/l/blockstack.svg)](https://www.npmjs.com/package/blockstack) [![npm](https://img.shields.io/npm/v/blockstack.svg)](https://www.npmjs.com/package/blockstack) [![npm](https://img.shields.io/npm/dm/blockstack.svg)](https://www.npmjs.com/package/blockstack) diff --git a/package.json b/package.json index 65908e4b..91ddfbf2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "blockstack", - "version": "0.2.1", + "version": "0.2.2", "description": "The Blockstack Javascript library for identity and authentication.", "main": "lib/index", "scripts": {