{"_id":"xiongxiong","_rev":"41-5513edd9c6c9a0cd306f849e2c9cf1e9","name":"xiongxiong","description":"Bearer token codec","dist-tags":{"latest":"0.7.4"},"versions":{"0.0.1":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.0.1","license":"TBC","description":"Bearer token generator and authenticator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"0f3abf2b80c99acd97b38968ca80f14b1a17db0b","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.0.1","scripts":{},"_shasum":"b6b20c42bfa1ba0ea212a90ac6543ce465c051ed","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"b6b20c42bfa1ba0ea212a90ac6543ce465c051ed","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.0.1.tgz","integrity":"sha512-l2cZi0CDycHyBCx8kBbo9mD0EEEfWYuj55U5LxUf/eSnhlnsYcdTrY6XBXBZyHXIFjsF43vxoTV9Gp/viwwdjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG+WMECzocxtGbMuz/oNj3iRyA0WTo0/oXgmH+bzm9p7AiEAjY1WRpi8ay+/RY7ws2fninc+ib7oSS1HqjLlCA82RZo="}]}},"0.0.2":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.0.2","license":"AGPLv3","description":"Bearer token generator and authenticator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"e967eb115604c11f49f734777366469ee248e4b8","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.0.2","scripts":{},"_shasum":"29ca9497f08330a9369eaaa7a178ed8927fb64b6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"29ca9497f08330a9369eaaa7a178ed8927fb64b6","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.0.2.tgz","integrity":"sha512-JD7y1oi88eaiCUdYT4qOfKhnh4Z8LB+s2F9pN5yrGsj1DrVL6gskGCURo+rEYpuh6eP11OhVNMkpzWkfut38tA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGx5feBgdfFrUG0uIodWGgP6gO5sAf/G9kB3jUhyyBVYAiBCn7GO/bAqVntundxdwluy9uypsy6hfA8Fvz5/Q3GDaw=="}]}},"0.1.0":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.1.0","license":"AGPLv3","description":"Bearer token generator and validator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"faa7963790132d5d3162ce721514e4abcfd571d6","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.1.0","scripts":{},"_shasum":"47ee154f5625f128d2e06f4db10fb203934dfb33","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"47ee154f5625f128d2e06f4db10fb203934dfb33","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.1.0.tgz","integrity":"sha512-I0mgHeci33NJeEdOPt7OiUoisIR6M2PmOUx6RJ1BT2YWcesAw2ROB0GBu6DIOG+GANHkLkYoWh/y0mW+lJQL7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAk44PCytd6SO/Y5XrtUGF000Jz9iWmlN8zmZ9T3ae0TAiEAl+VC+zwZ90gGZJmoSgRLZjkVNkAK9RQ9FwYAK2gxehs="}]}},"0.1.1":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.1.1","license":"AGPLv3","description":"Bearer token generator and validator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"27efd37982f46aebea386bec687937a4531ec0cd","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.1.1","scripts":{},"_shasum":"83fcfde5c4dc4d7059b4cfa1dcef8b216c99f0ff","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"83fcfde5c4dc4d7059b4cfa1dcef8b216c99f0ff","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.1.1.tgz","integrity":"sha512-VTUKZybyKQuzpI/+cPzcvTR284PWiXIYuom3tnwjdjp/jPXcEGndae8Ys4Ydv1+I6KN34uz3Re2jiTEFJoOTeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDl46pXlU5Enx5fUnT8wiaLj63aEKSsqJiBuMdVRp8o2QIgd5EXC/8atGgIH2ftSbmcw5bT5kSSA+ICkCRd/JqXmBs="}]}},"0.1.2":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.1.2","license":"AGPLv3","description":"Bearer token generator and validator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"51b9b4ef6e34dc8eee36be087ba33b12fb83482a","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.1.2","scripts":{},"_shasum":"cf541c59ec4d5de24365e0a146c1d878fe3b99d4","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"cf541c59ec4d5de24365e0a146c1d878fe3b99d4","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.1.2.tgz","integrity":"sha512-FcDzVmvC0b6PnuLjLtpGjYzv8OLnNGfSJkrGWBouTxnEACEURJhU+KmZQFBY05veFvePSfPfJz6i6VmPRq89VQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID6cFCDgBY7NlM6fjjmFVnzMkWLyXqhaLPq3oRTeROgTAiBWHPxJjjWU5pqaAZj/J6UAd4lqR1D8gDLNR8uW3wepHQ=="}]}},"0.2.0":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.2.0","license":"AGPLv3","description":"Bearer token generator and validator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"e2a799a59073d3318c86a429649d6ce1b2a3593c","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.2.0","scripts":{},"_shasum":"ff2bff135a940869ab7ed2205df7846802198a82","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"ff2bff135a940869ab7ed2205df7846802198a82","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.2.0.tgz","integrity":"sha512-0oLAWdrz/R+Ly0e20b4BOXgtNJHR03VMeMvcdyhPz7umMRCT/mo3/wguqzeT76oyJbTqHQmXXgaVnhHPfHo64g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAtO8brC0dwJu8JA/OhPSV8SyEYTcGZf6AlLOIoQhE2ZAiEA+WzvDv6nc4kbxScnAEh0kItS8XwDrSucw45UKe1muEE="}]}},"0.2.1":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.2.1","license":"AGPLv3","description":"Bearer token generator and validator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"4b02e265e042f26667ebb05645c4fa7b80bf2b84","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.2.1","scripts":{},"_shasum":"3b8ba96748a22667b5810cfe5acf5dea578c4ec1","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"3b8ba96748a22667b5810cfe5acf5dea578c4ec1","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.2.1.tgz","integrity":"sha512-NASM2rtAogpIych4pItfH48gm4uQo7fZsg6ztXkGVBra7mLIC+EvNMyCyt6e2XeO40zChpOyIClTEg0W5qxBmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGO7j8HKXNvRepvGmDroQIIcaIJuiITMqjjnyLrsBePpAiBd302sqQ7MQ/xECrDc9UkJsQv/LT+AvVztTUvZPvmZ6Q=="}]}},"0.3.0":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.3.0","license":"AGPLv3","description":"Bearer token generator and validator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"4de982d5a801ddc7c058090f1d0850f144d806af","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.3.0","scripts":{},"_shasum":"0961007dea9264d0db6134bdc609b891fd141436","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"0961007dea9264d0db6134bdc609b891fd141436","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.3.0.tgz","integrity":"sha512-dWguhgLc1JsWepeBARuONii4dQkSn3gpHs8INYUnqV0tH6fR8st5XeBt9xaHAwRgXEkxA6vFm6ChYwlRqGzjSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzASiANfpvyrdIZ31PRIYGBpS13AqTgzVGjBhYFCLbhQIhAJNFJJ6/lB1mKCi+Sm3Z2u2bVbUq+9XheG277Wau6krO"}]}},"0.3.1":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.3.1","license":"AGPLv3","description":"Bearer token generator and validator","main":"index.js","repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"9d78c10d7b31d0ad00784e64e63a8fd27393ebee","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.3.1","scripts":{},"_shasum":"75e95b6570c0a126e54410e9327bb290dacc2506","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"75e95b6570c0a126e54410e9327bb290dacc2506","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.3.1.tgz","integrity":"sha512-DpxX24wnY3iyWjslwua10s4V9Hn1rp+UlnEaVZRRCZEdVeoCV+Bs/GfPNp+Sk6PpbN07b5VHRiGh+H7IsmYOMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFYcFEl45xCCIdYzxcg0nVmJu9qd4H39tmDi1FIC2/adAiEA5+QnvZDIaOvtpA27QM9kUDzKbynYqYps4pHzFaN/cU8="}]}},"0.3.2":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.3.2","license":"AGPLv3","description":"Bearer token generator and validator","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"735d26ffcfd6bae1258b40bd4e8cfafeb06f127e","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.3.2","_shasum":"fd5a83305aa2e1ed6bb2132c741e64e7ba7017a1","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"fd5a83305aa2e1ed6bb2132c741e64e7ba7017a1","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.3.2.tgz","integrity":"sha512-3wVOYm04vlKjWNHNBBYvFkO3bhHlvo2JiMNxD8wemIFJLYOjEnHbdeNLjqxls38Zq74uSda996+w6ZbZF1W5sA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDECIJhLcXVqSq+Xwi0SDI1KlssCBwhELGVXziGlOf5EgIhAODrxwkTNgUx3jIv7X0nRZFmVLJJ/VV874yoon4D2xcA"}]}},"0.4.0":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.4.0","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"735d26ffcfd6bae1258b40bd4e8cfafeb06f127e","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.4.0","_shasum":"816f5a4010fad22fcc79695d7f5f2736f141ecf8","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"816f5a4010fad22fcc79695d7f5f2736f141ecf8","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.4.0.tgz","integrity":"sha512-z8gvhA7w+o+z2HpNDRcemNBsXjtjCByd0nLbwSfY2com2Hk7n9ekPWsvjp8ZuZ/Ei8zUaOGNbLj3UgQGvGGVnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXVlrgd67NPRVRgWOVKW5/4WoaZ6rFG6siNN5y9x5IpAiEAu9cg6HtIMifS6yz2HkXJaPk1FE68ItHs0t7nKSc03Ks="}]}},"0.4.1":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.4.1","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"7000d50daeac8c1324e0941dd279af6807785ad4","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.4.1","_shasum":"47e24776964e7e8bd99c4251b93f30f6e60c36a7","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"47e24776964e7e8bd99c4251b93f30f6e60c36a7","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.4.1.tgz","integrity":"sha512-l0Px7t6Lgz8BT8kZBteqIGwWCxOE3bKxEAAEWsLP7s5/OjHVbcistR098LQTFTdBwzBRrmgJ7KizXtLf4pI9sw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcFH1Pe4MCvKinlbILdDdSufpdWBHhh1s1gno6u140hQIhALUHdre/pjXwaCXkr+JVbAtzHjaSL8p3YQ/Yr3YH6Rjb"}]}},"0.5.0":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.5.0","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/node-xiongxiong.git"},"gitHead":"a9f482927bcec7c77d5959803bbcb670e9a1a8ee","bugs":{"url":"https://github.com/wtsi-hgi/node-xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/node-xiongxiong","_id":"xiongxiong@0.5.0","_shasum":"81ebc54139c49ed0a045d2d6f6b3ee178a4a04c6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"81ebc54139c49ed0a045d2d6f6b3ee178a4a04c6","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.5.0.tgz","integrity":"sha512-Je2OMSKbURyvB1ydFvUGzNzORSwuQUNnur3+pVh3VU8RZjb12qfdb/bUz+o2uqya+UCMw6iJNBeVmkxp1Ht4Kw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIskSJttLXWj/mOw1oP4ZlFBoqqfeCdvebOThapCJVjgIgRCxHoytD9wdk2TeXj8apLu1XIbGcNBePbKelC0Y0SDE="}]}},"0.6.0":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.6.0","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/xiongxiong.git"},"gitHead":"9a6922f2fb929f81a5c6b670ee9e8f2288dfc13e","bugs":{"url":"https://github.com/wtsi-hgi/xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/xiongxiong","_id":"xiongxiong@0.6.0","_shasum":"0a8d7968c2b39b254ecc89eadcbce22d27a32ef6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"0a8d7968c2b39b254ecc89eadcbce22d27a32ef6","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.6.0.tgz","integrity":"sha512-RUBFrwWuqQEqxs9jwxdwF2UE49ALfWi97Xc69T+DT1rF/ZLKaVI4XkeYEg3wNnYOlhs4ZroibuZhAdE8oKBnCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3SgPt834l5QIIbHLZOfmQFEdkipYUUsk6R/qds+7lawIhAOMT6piUj9mGKW1XJLLnCwg3KCGvj65L/gY3JpNXlDYt"}]}},"0.6.1":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.6.1","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/xiongxiong.git"},"gitHead":"fa70860e403b4f3ad3cd7d1511e0e2b845deb356","bugs":{"url":"https://github.com/wtsi-hgi/xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/xiongxiong","_id":"xiongxiong@0.6.1","_shasum":"e7eef9d7035964e5407f82a5017e747fb2b4472a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"e7eef9d7035964e5407f82a5017e747fb2b4472a","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.6.1.tgz","integrity":"sha512-/OkF/ikPfJ69Hch8OdkRrNDPDJ/83bj0RL8G2SOiKRWiQfbTzVI4PAS2PaQ1TyWh2NXxDR091wo4OtlBvX2mYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDbi+vlbwFbDxZuzEGR3mlNswMCzNb0Fz/TaXroo0ojIAiA8OgpcjRePcYVYC7XaihSxr5FuMOl+txs3wb2reysa7w=="}]}},"0.7.0":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.7.0","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/xiongxiong.git"},"gitHead":"e9d43b603fe7cc1dc60eacae82e18cd4d3c89bec","bugs":{"url":"https://github.com/wtsi-hgi/xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/xiongxiong","_id":"xiongxiong@0.7.0","_shasum":"5956ba3507889c2e208a62cc659e4525d9afeaae","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"5956ba3507889c2e208a62cc659e4525d9afeaae","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.7.0.tgz","integrity":"sha512-MZrJcGewouQ0reDwGhxlBKPxnjtFy3dq/r5oo2z7I8mtN6KhnXoCpYjp97gPprDUGZVyeZwqswacYGnU/hpFBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIF/iA1X48UUIJnwmWyN0dXemgtUgDSPFunYaPGWZFFQIgaQfmwE7hDWGBQKxFovWT+ahNurz+itLyTIAkMu4PCkI="}]}},"0.7.1":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.7.1","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/xiongxiong.git"},"gitHead":"6b6db69b737f0be2ef89096b4c86d6e7baebde0d","bugs":{"url":"https://github.com/wtsi-hgi/xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/xiongxiong","_id":"xiongxiong@0.7.1","_shasum":"e3578a3458e8898d1f714aac4c06e51e564bcc52","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"e3578a3458e8898d1f714aac4c06e51e564bcc52","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.7.1.tgz","integrity":"sha512-1yIxeW9onT+0aGlICbiq8/594sgQkggfbVUK/iFjIrQe3WUhsvaAl9irPh0UWu16gYSh5LuTbskRoVEpyF0JWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCk/YtZxl1PU+LfbJzBZH0st4qxIo064QWNhre/leZ8pQIhAIM45eMu4CIeji7vVI6TUN+s1TKPveCt0g72BF5nAbHw"}]}},"0.7.2":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.7.2","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/xiongxiong.git"},"gitHead":"a617f5efe0fec29f195bfe8c18ed16f3d8602780","bugs":{"url":"https://github.com/wtsi-hgi/xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/xiongxiong","_id":"xiongxiong@0.7.2","_shasum":"cfa2915733d9060bb6e447a94080cb9adf8ac53c","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"cfa2915733d9060bb6e447a94080cb9adf8ac53c","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.7.2.tgz","integrity":"sha512-IoVsTp6ZalsvvxHs6gQ349jZvPOuSk05NMd1zlqfaxagBo0vKZdgPAyTfKPXPWThs20i9Ww+LccxaMhtJ1A+1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIElCyALFpsmVoEhq3B5kBQWVGKBNg89Xkj107wjZiEfqAiEAwTMVzj7EW9mGi2L9bclQOFxJhIUZ6JoJwa8hRz7Ab/c="}]}},"0.7.3":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.7.3","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/xiongxiong.git"},"gitHead":"904637611acedf03362f9dc39a67b1434894199b","bugs":{"url":"https://github.com/wtsi-hgi/xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/xiongxiong","_id":"xiongxiong@0.7.3","_shasum":"4496b884166acf8dcc05fafde7650c1fad60faed","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"4496b884166acf8dcc05fafde7650c1fad60faed","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.7.3.tgz","integrity":"sha512-AUzlYMt4M6CqO56lEPeSjK1EewqJKx0347wOkXjB4oOnYSS14KfQEnKsJitLNsDvxFWjCErVhKDu/VnamCs5Sw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0RGvC72MoalWEfasljijItSh5fee5xrnHbzPQVt1ZrAIgOSXtV2Uo7CGyQ3JvZL14s9yjtq0YeMjLxGRg2eG1rUg="}]}},"0.7.4":{"author":{"name":"Christopher Harrison"},"name":"xiongxiong","version":"0.7.4","license":"AGPLv3","description":"Bearer token codec","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/wtsi-hgi/xiongxiong.git"},"gitHead":"5927273194f0432383451e83f9989d3e822087e7","bugs":{"url":"https://github.com/wtsi-hgi/xiongxiong/issues"},"homepage":"https://github.com/wtsi-hgi/xiongxiong","_id":"xiongxiong@0.7.4","_shasum":"ba36c766a996287f27f34a345eb873aa62e10e3e","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"xophmeister","email":"npm@acc.xoph.co"},"maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"dist":{"shasum":"ba36c766a996287f27f34a345eb873aa62e10e3e","tarball":"https://registry.npmjs.org/xiongxiong/-/xiongxiong-0.7.4.tgz","integrity":"sha512-pUcbCcJNlo3rH8USQDLyPNAhaPdYIxbltug/NZPohVX34URElK657nZCviGf1amxcbjeGzsyV9l2bqb5glhEjg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIQ+2fsyHxjBfiiZ0rmppVXJqKt7ZdoId19fp4sS69sAIhANa/Mv3Cnph8iK8D0UNMJPDsTGVR/ic0Rqv79BIlHW/W"}]}}},"readme":"# Xiongxiong\n\nBearer token codec.\n\n## Installation\n\nInstall from NPM:\n\n    npm install xiongxiong\n\n## Xiongxiong?\n\n\"熊\" (xiong, /ɕjʊ̌ŋ/) is Mandarin Chinese for \"bear\" (as in the mammal).\nReduplication in Mandarin acts as a diminutiviser, so \"熊熊\" means\nsomething like \"little bear\".\n\nBear, bearer, bearer token... Yeah, it's tenuous, but deal with it!\n\n# Documentation\n\nThe module *must* be instantiated with a private key and, optionally, a\ntoken lifetime (in seconds; defaults to 3600) and hashing algorithm\n(defaults to `sha1`). These can be provided as positional arguments, or\nas a hash.\n\nFor example:\n\n```js\nvar fs         = require('fs'),\n    privateKey = fs.readFileSync('/path/to/private.key');\n\nvar xiongxiong = require('xiongxiong')(privateKey, 3600, 'md5');\n```\n\n...or:\n\n```js\nvar xiongxiong = require('xiongxiong')({\n  privateKey: 'My hovercraft is full of eels!',\n  lifetime:   300,\n  algorithm:  'whirlpool'\n});\n```\n\nThe private key can be any buffer or string; it needn't be read from the\nfilesystem (but that's probably a good idea). A simple key generation\nscript is also provided (see below).\n\nAn error will be thrown if the specified hashing algorithm is not\nsupported by your system.\n\n## `xiongxiong.encode(data, callback)`\n\n*Alias `xiongxiong.create`*\n\nAsynchronously encode the bearer token generated by the seed `data` and\npass it to the `callback`. The callback follows the \"error first\"\npattern, with any error in the first argument (`null`, otherwise) and\nthe token data in the second.\n\nThe data provided to the function must be a string or an array of\nstrings. In the latter case, the array is flattened with interposing `:`\ncharacters.\n\nThe token data available to the callback is a frozen hash, with keys:\n* `expiration` The token's expiration time (Unix epoch)\n* `accessToken` The token itself\n* `basicLogin` Basic authentication login\n* `basicPassword` Basic authentication password\n\n`basicLogin` is the Base64 encoding of the seed `data`, with a\ncryptographic salt, as a fallback for when HTTP Bearer authentication is\nnot available. `basicPassword` is the HMAC of `basicLogin` with the\nprivate key using the specified hashing algorithm. The `accessToken` is\nsimply these two pieces concatenated, again with an interposed `:`.\n\nFor example:\n\n```js\nxiongxiong.encode([userName, sessionID], function(err, token) {\n  if (err) {\n    throw err;\n  }\n\n  console.log(JSON.stringify(token, null, '  '));\n});\n```\n\nn.b., Don't put `:`s in your seed data; they act as delimiters and\nspurious ones will probably mess up with the validation.\n\n## `xiongxiong.decode(accessToken)`\n## `xiongxiong.decode(basicLogin, basicPassword)`\n\n*Alias `xiongxiong.extract`*\n\nDecode the seed data, expiration and validate from the bearer\ntoken/basic authentication pair. Returns a frozen hash with the\nfollowing keys:\n\n* `data` The original seed data, which will be an array split by `:`\n  characters, wherever possible (a string, otherwise).\n* `expiration` The expiration time (`Date` object).\n* `valid` The validity of the token/basic pair (`Boolean`).\n\nFor example:\n\n```js\nvar tokenData = xiongxiong.decode(someBearerToken);\n\nif (tokenData.valid) {\n  console.log('Token expires in %d seconds.',\n              Math.floor((tokenData.expiration - Date.now()) / 1000));\n}\n```\n\nThe validity property (`valid`) will return `false` if the token can't\nbe authenticated, otherwise it will test whether the token has passed\nits best before date.\n\n## Testing\n\nA simple testing suite is defined in `test.js`, which can be run via\nNPM:\n\n    npm test\n\n# Decoders\n\nBesides the codec for Node.js, [other decoders are available](decoders/)\nfor different languages and environments:\n\n* Python (2 and 3)\n\nn.b., These decoders are *not* available in the NPM repository, for\nbrevity's sake, but can always be found on GitHub.\n\n*Made a decoder for your favourite language? Then why not submit a pull\nrequest!*\n\n## Decoder Testing\n\nIf you plan on writing a decoder, then the [`getTestToken.js`](decoders/getTestToken.js)\nscript will be of interest to you. This is a tokeniser implementation,\nusing Xiongxiong, that reads JSON from standard input and outputs the\nJSON token data (per the above) to standard output. It can thus be\ncalled easily to create tokens to test against with your own decoder\nimplementations.\n\n    Usage:\n    getTestToken.js KEY [LIFETIME] [ALGORITHM]\n\n    Options:\n      KEY        The private key, in plain-text or a file path\n      LIFETIME   Token lifetime, in seconds (default 3600)\n      ALGORITHM  HMAC hashing algorithm (default sha1)\n\nNote that the JSON input must be a string or an array of strings.\nOtherwise, or if the tokeniser fails for any other reason, a non-zero\nexit code will be rendered.\n\n# `make-key.sh`\n\nA simple wrapper script around `dd` to create a private key file from\n`/dev/random`.\n\n    Usage:\n    make-key.sh [OPTIONS]\n\n    Options:\n      -s SIZE     Key size, in bytes (default 256)\n      -o KEYFILE  Key file (default private.key)\n      -h          This useful message\n\n# License\n\nCopyright (c) 2014, 2015 Genome Research Limited\n\nThis program is free software: you can redistribute it and/or modify it\nunder the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or (at\nyour option) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the [GNU Affero\nGeneral Public License](LICENSE) for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program. If not, see <http://www.gnu.org/licenses/>.\n","maintainers":[{"name":"xophmeister","email":"npm@acc.xoph.co"}],"time":{"modified":"2022-06-29T05:22:49.809Z","created":"2014-12-19T15:34:57.811Z","0.0.1":"2014-12-19T15:34:57.811Z","0.0.2":"2014-12-19T15:36:19.936Z","0.1.0":"2014-12-19T16:40:40.582Z","0.1.1":"2014-12-19T16:56:03.282Z","0.1.2":"2014-12-19T17:03:36.338Z","0.2.0":"2014-12-22T11:53:26.200Z","0.2.1":"2014-12-22T11:58:19.138Z","0.3.0":"2015-01-09T11:09:50.350Z","0.3.1":"2015-01-09T11:21:47.577Z","0.3.2":"2015-01-09T17:35:26.797Z","0.4.0":"2015-01-12T10:51:19.886Z","0.4.1":"2015-01-12T11:23:01.016Z","0.5.0":"2015-01-12T13:27:18.012Z","0.6.0":"2015-01-14T15:13:04.185Z","0.6.1":"2015-01-14T17:16:20.982Z","0.7.0":"2015-03-02T11:05:14.460Z","0.7.1":"2015-03-02T16:23:57.956Z","0.7.2":"2015-03-03T15:22:45.849Z","0.7.3":"2015-03-04T15:58:56.001Z","0.7.4":"2015-04-20T15:34:57.574Z"},"homepage":"https://github.com/wtsi-hgi/xiongxiong","repository":{"type":"git","url":"https://github.com/wtsi-hgi/xiongxiong.git"},"author":{"name":"Christopher Harrison"},"bugs":{"url":"https://github.com/wtsi-hgi/xiongxiong/issues"},"license":"AGPLv3","readmeFilename":"README.md"}