{"_id":"apostrophe-cas","_rev":"58-9b1e377ceb9680633b3337bc8f073708","name":"apostrophe-cas","dist-tags":{"latest":"0.5.9"},"versions":{"0.5.0":{"name":"apostrophe-cas","version":"0.5.0","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.0","maintainers":[{"name":"boutell","email":"boutell@boutell.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"31a31be425584945b813ad8cc04df3c1acefae7b","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.0.tgz","integrity":"sha512-z1AYXqP8Q/CklTkwwdMfvMlIazh22PS9jskx/Eb02o0tCTZxDtMvT3vcgQiMRVilgVZS7K2JSS9qiZE5U6LdPQ==","signatures":[{"sig":"MEUCIDe3G+JG1mUnwFw5J1I8Xj8aScaMRk2CcRTg4ZDgKjx/AiEA0SOaYy1fSwxTA+wfhzDqmUTsOF4d3e4FQlyKBlnQIqc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"1.4.4","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.1":{"name":"apostrophe-cas","version":"0.5.1","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.1","maintainers":[{"name":"boutell","email":"boutell@boutell.com"},{"name":"benirose","email":"ben@punkave.com"},{"name":"kylestetz","email":"kylestetz@gmail.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"jsumnersmith","email":"joel@punkave.com"},{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"gsf","email":"g@grrawr.com"},{"name":"stuartromanek","email":"stuart@punkave.com"},{"name":"livhaas","email":"olivia@punkave.com"},{"name":"mcoppola","email":"coppola@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"df6c53c05235894276363b330317b9b1f110995d","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.1.tgz","integrity":"sha512-na1BVsPRubeRh6fQMnVemCL8ALYYGivW7Q3UC48DwZmNJ0pICH/vCd1F4hu4oeBkYwm956jFQ7imyjnl8S6C0A==","signatures":[{"sig":"MEUCIDzTIVJg7mznKsjl1efk+87lGJt8pFQUF1Qqm2K1HBPhAiEA60b628q6gcqqUpjSRw/x3GGzSVBvn4hnLEvSW9sohTE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"1.4.4","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.2":{"name":"apostrophe-cas","version":"0.5.2","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.2","maintainers":[{"name":"boutell","email":"boutell@boutell.com"},{"name":"benirose","email":"ben@punkave.com"},{"name":"kylestetz","email":"kylestetz@gmail.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"jsumnersmith","email":"joel@punkave.com"},{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"gsf","email":"g@grrawr.com"},{"name":"stuartromanek","email":"stuart@punkave.com"},{"name":"livhaas","email":"olivia@punkave.com"},{"name":"mcoppola","email":"coppola@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"8e544e7cb4115ef34bb5a5fd0fbb89fc0a453c38","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.2.tgz","integrity":"sha512-S3qVpBgv2qUuAKghHlaYhixJx5SdfRkCpRXUin3PNmxfsHfx3oM8ogr5/HDIbtPnOOg+4IU/yQPKa7kcXdrorA==","signatures":[{"sig":"MEQCIGQjE0gNZkUwnrNIevJqTyJ1ktxlCrXXCv7Ptyoe5DUEAiBMyYkTor3P/aRgijhns+0UaQK4hwjcFrE+Ln7iOWCiJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"1.4.4","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.3":{"name":"apostrophe-cas","version":"0.5.3","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.3","maintainers":[{"name":"boutell","email":"boutell@boutell.com"},{"name":"benirose","email":"ben@punkave.com"},{"name":"kylestetz","email":"kylestetz@gmail.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"jsumnersmith","email":"joel@punkave.com"},{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"gsf","email":"g@grrawr.com"},{"name":"stuartromanek","email":"stuart@punkave.com"},{"name":"livhaas","email":"olivia@punkave.com"},{"name":"mcoppola","email":"coppola@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"dca121178ba1a67555a9d455b31a6ee8a6b1a48b","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.3.tgz","integrity":"sha512-AphxXtmS7BN2Yt3e/n/ZtA5TLAwFOISWfpQPJvZAPvvuCFNUHGdJdW7+i9T9nEJT4vEgXp3nLb0W0S8iQjnYDw==","signatures":[{"sig":"MEQCIGq9tb7uEKUwDgmKTLKt6l+5agpP+ETn5K2U2NsYxJrmAiAI/tgLzkk9hZ/aP4MTcwfyrdatAGmL9nGgoYn44NECCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"dca121178ba1a67555a9d455b31a6ee8a6b1a48b","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"1.4.9","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.4":{"name":"apostrophe-cas","version":"0.5.4","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.4","maintainers":[{"name":"boutell","email":"boutell@boutell.com"},{"name":"benirose","email":"ben@punkave.com"},{"name":"kylestetz","email":"kylestetz@gmail.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"jsumnersmith","email":"joel@punkave.com"},{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"gsf","email":"g@grrawr.com"},{"name":"stuartromanek","email":"stuart@punkave.com"},{"name":"livhaas","email":"olivia@punkave.com"},{"name":"mcoppola","email":"coppola@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"039f739919106dae5fa13828551b91424c4f348d","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.4.tgz","integrity":"sha512-H8IVj/2r3x9W0WhaXOmctttRVz4AljAIzhErb1l6GBKUbi2JwB5sLCH9HzEI7PXJrDlfdfHdo1N2+k6b73lLXw==","signatures":[{"sig":"MEQCIF30ifNmtepz7AjKovbLvtcGujekdGTv6q4LS+ZjaybpAiBkTEa0l3OZM8OiVPuiImNrPdetGq/sTwQ+hwDQ5xgJkg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"039f739919106dae5fa13828551b91424c4f348d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"1.4.9","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.5":{"name":"apostrophe-cas","version":"0.5.5","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.5","maintainers":[{"name":"boutell","email":"boutell@boutell.com"},{"name":"benirose","email":"ben@punkave.com"},{"name":"kylestetz","email":"kylestetz@gmail.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"jsumnersmith","email":"joel@punkave.com"},{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"gsf","email":"g@grrawr.com"},{"name":"stuartromanek","email":"stuart@punkave.com"},{"name":"livhaas","email":"olivia@punkave.com"},{"name":"mcoppola","email":"coppola@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"9dd9dda6d9c599ace9890c469d493c19ba8c193f","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.5.tgz","integrity":"sha512-QePOMSE087v3zPfHb43KEgplsB65WoZwu7O7CusDPlVxDqGyeE+p8jebWcXQVl+VlR0dYpIuzzwvPUtDP+y9pg==","signatures":[{"sig":"MEQCIDeTq7OGMY4SVsy05vsGFQQVPO4KkjL+sohrcVjVrA4+AiBCYDsZETZ63ze78cib8xc4FAAISCX5mBl20ELlB1uK+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"9dd9dda6d9c599ace9890c469d493c19ba8c193f","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"1.4.9","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.6":{"name":"apostrophe-cas","version":"0.5.6","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.6","maintainers":[{"name":"boutell","email":"boutell@boutell.com"},{"name":"benirose","email":"ben@punkave.com"},{"name":"kylestetz","email":"kylestetz@gmail.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"jsumnersmith","email":"joel@punkave.com"},{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"gsf","email":"g@grrawr.com"},{"name":"stuartromanek","email":"stuart@punkave.com"},{"name":"livhaas","email":"olivia@punkave.com"},{"name":"mcoppola","email":"coppola@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"2e0b9d218db017fb08a4a6e71b5b74359e651cf4","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.6.tgz","integrity":"sha512-nqgS4GbKoGR3eyuLQLn3i0EMazCHXZpMvv1r9iQ3HN6fRHotWBy/cfF3KyX4eGuBHihaneQ5IDNom9hRntkFdw==","signatures":[{"sig":"MEYCIQDjZmtfs/Yb0NPhCllyU4Wz3jxogGqY2Yk/RnsotuqwrAIhAOw/75JCBDjU/gqIT3WYKsRAntA6h9r6OQ4fuRSCR7yW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"2e0b9d218db017fb08a4a6e71b5b74359e651cf4","gitHead":"dfdc70b5abd634e2e268bddc8a26e1dd5aad5ac9","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"1.4.24","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.7":{"name":"apostrophe-cas","version":"0.5.7","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.7","maintainers":[{"name":"boutell","email":"boutell@boutell.com"},{"name":"benirose","email":"ben@punkave.com"},{"name":"kylestetz","email":"kylestetz@gmail.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"jsumnersmith","email":"joel@punkave.com"},{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"gsf","email":"g@grrawr.com"},{"name":"stuartromanek","email":"stuart@punkave.com"},{"name":"livhaas","email":"olivia@punkave.com"},{"name":"mcoppola","email":"coppola@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"c25fda92b15129c111dbe10e23829972c9b27eb2","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.7.tgz","integrity":"sha512-cPsES1gvKqe52oxzbtBPoPWTdSFFpcPLlkir9Bp5xauMstzMHy6zq+jO9WqmkN/yVdlVM+Mc9AbFOOMQjcQ2qg==","signatures":[{"sig":"MEUCIQCY7sXeUdvjH5pxxwpYxXkfGhjtSz5KXMNMaKhLxvlE4QIgG2m7ayrfiXm9XTtSi4POITWRHoEOfriG7AlqKonvy5I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"c25fda92b15129c111dbe10e23829972c9b27eb2","gitHead":"241da01c8ef960bfb0920e8828d1e072e01266b4","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"2.6.1","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"_nodeVersion":"0.12.7","dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.8":{"name":"apostrophe-cas","version":"0.5.8","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.8","maintainers":[{"name":"boutell","email":"boutell@boutell.com"},{"name":"benirose","email":"ben@punkave.com"},{"name":"kylestetz","email":"kylestetz@gmail.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"jsumnersmith","email":"joel@punkave.com"},{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"gsf","email":"g@grrawr.com"},{"name":"stuartromanek","email":"stuart@punkave.com"},{"name":"livhaas","email":"olivia@punkave.com"},{"name":"mcoppola","email":"coppola@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"c716014ec8de3a79b477a7ea7d611f017fec1700","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.8.tgz","integrity":"sha512-JRaGwSlKXwneicGXhWwK4Qv34s4wQoqAzF6oHx5ppArYDT9kiaz8P7LqZ4R25YU9UhYzIshx6ej1VayRDkKOew==","signatures":[{"sig":"MEUCIQD74VGYVaZOP3MiWgd9dUUu/O3LUmtT7V4EYmZ3VOt2qQIgE/SVrYtuQ3ofq8OyVKLC/EkCSHVqAHcqxXgN19ZD7kE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"c716014ec8de3a79b477a7ea7d611f017fec1700","gitHead":"22249fb636baed5779f1aac6d3ffb74a1d58d722","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"boutell@boutell.com"},"repository":{"url":"https://github.com/punkave/apostrophe-cas","type":"git"},"_npmVersion":"2.6.1","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"_nodeVersion":"0.12.7","dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"}},"0.5.9":{"name":"apostrophe-cas","version":"0.5.9","keywords":["cas","authentication","apostrophe","cms"],"author":{"name":"P'unk Avenue LLC"},"license":"MIT","_id":"apostrophe-cas@0.5.9","maintainers":[{"name":"alexgilbert","email":"alex@punkave.com"},{"name":"arti5m","email":"ajchappelle@gmail.com"},{"name":"austinstarin","email":"austin@punkave.com"},{"name":"boutell","email":"tom@punkave.com"},{"name":"colpanik","email":"kerry@punkave.com"},{"name":"grdunn","email":"grdunn@gmail.com"},{"name":"jimmyh","email":"jimmy@punkave.com"},{"name":"mtthwmnc","email":"matthew.mance@gmail.com"},{"name":"stuartromanek","email":"stuart@punkave.com"}],"homepage":"https://github.com/punkave/apostrophe-cas","bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"dist":{"shasum":"3db4d65183fbabf051ab943f20010b8c628358c8","tarball":"https://registry.npmjs.org/apostrophe-cas/-/apostrophe-cas-0.5.9.tgz","fileCount":5,"integrity":"sha512-jSoUpV4TfPtM52FlxXiW5tv4POqvf0aKixfI+/j1IUuKRrbmmBqD6BD2gLpU+iZnV+/eOwafbR8f2l8nGClHSg==","signatures":[{"sig":"MEQCICeWZrTmPtzYloJ+pICVTInRCLHf+r9hRYas0bf8X8L9AiBHi4/Mm20/ivXwVh7939DTNBHTivs1Bp/BiMG9l+V/ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdubdoCRA9TVsSAnZWagAADmUQAKO436tUcCHLCIrFYsxB\n+WuJt7Hkdmle1MjnyvbGqdqxEoi6zNaF1NyH7ejrg2gsAj2ucIegSpSim9qK\nT77bKgvblJvmAQmyZHfiSFrY8PXvE51N+NEzAGkSovO9sWqvjx4S3K2U3pdp\nYtc8ZGFJiSDvhff9WH7vLFiSK2C9xWkXjRjRYuE1LfwI8a5QmVSHF4nuyMBu\nZE+UeK1Q9SK5AI0zQJFKXl3w9V7U2lddk9jS0bJ6JKkqVSKgu2v6qv002Wrl\nkwIlqTeHWVQhqmO+hQPlSBdn2tG/tkQFrflf3tfB635gX6qfDbqjJYhtGQbR\nvuve8nTyKdXNWCrY2MRWG6SIUvGJSH8G4L94hxgA0rjb2vHX655LBvWhfzJg\n+4ShCVEdN/ImLxsKIPPvz905rBzN0QYMxO44s8UzPuLvwz7iz6OEHBtfI4GY\nLUBrfXAXqghXtB1NaN4u8XdRe0KQypZ8VtLDx5wRsn7QbSmoR2hwsbG/LIJn\n0GigSU4TdcPZuoUL+e1wZJ7awRiT9zC+aojwXcIJ2ztaKeUBvXTvnQ2T6+SW\niWy6X7Wu+Mzqtgsvq8kYzOnZVFxarDJd0DVoKnLbOmu5quIhIux8PI9RA1Pp\n+lTlHqkISJ/pvJiwe91reK3VjRRvaZG4IHUrAclgG+81muTWf7fZbhJu/uw0\n+Z4r\r\n=AA/m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"9950a1c7dd168dc0b778a359f36c429e9e0cc0fd","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"boutell","email":"tom@apostrophecms.com"},"repository":{"url":"git+https://github.com/punkave/apostrophe-cas.git","type":"git"},"_npmVersion":"6.11.3","description":"CAS authentication client and server for the Apostrophe CMS","directories":{},"_nodeVersion":"12.11.1","dependencies":{"qs":"^0.6.6","url":"^0.10.1","async":"^0.9.0","lodash":"^2.4.1","connect-cas":"^1.4.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apostrophe-cas_0.5.9_1572452200295_0.7449955778186823","host":"s3://npm-registry-packages"}}},"time":{"created":"2014-05-24T22:19:20.727Z","modified":"2026-01-26T19:09:30.569Z","0.5.0":"2014-05-24T22:19:20.727Z","0.5.1":"2014-05-27T17:00:05.918Z","0.5.2":"2014-05-28T15:50:13.906Z","0.5.3":"2014-07-03T13:27:28.844Z","0.5.4":"2014-07-03T13:50:05.696Z","0.5.5":"2014-09-23T21:14:42.238Z","0.5.6":"2014-11-20T21:25:37.719Z","0.5.7":"2015-07-23T17:51:17.202Z","0.5.8":"2015-07-29T14:04:27.721Z","0.5.9":"2019-10-30T16:16:40.473Z"},"bugs":{"url":"https://github.com/punkave/apostrophe-cas/issues"},"author":{"name":"P'unk Avenue LLC"},"license":"MIT","homepage":"https://github.com/punkave/apostrophe-cas","keywords":["cas","authentication","apostrophe","cms"],"repository":{"url":"git+https://github.com/punkave/apostrophe-cas.git","type":"git"},"description":"CAS authentication client and server for the Apostrophe CMS","maintainers":[{"email":"alex@apostrophecms.com","name":"alexgilbert"},{"email":"tom@apostrophecms.com","name":"boutell"},{"email":"stuart+npm@apostrophecms.com","name":"romanek"},{"email":"robert.means1969+apostrophecms@gmail.com","name":"bodonkey"},{"email":"kerry@punkave.com","name":"colpanik"},{"email":"stuart@punkave.com","name":"stuartromanek"},{"email":"jimmy@punkave.com","name":"jimmyh"},{"email":"austin.starin@gmail.com","name":"austinstarin"},{"email":"ajchappelle@gmail.com","name":"arti5m"},{"email":"grdunn@gmail.com","name":"grdunn"},{"email":"matthew.mance@gmail.com","name":"mtthwmnc"}],"readme":"# apostrophe-cas\n\n**OBSOLETE — currently for Apostrophe 0.5.x only. If you need CAS support for 2.x, a pull request would be welcome. Or, consider using [apostrophe-saml](https://www.npmjs.com/package/apostrophe-saml) instead. That module can be used to integrate Apostrophe 2.x sites with Shibboleth, which may also be an available ID provider on your campus. Alternatively, use apostrophe-saml as a starting point to adapt this module to 2.x.**\n\nThis module allows an [Apostrophe](https://apostrophenow.org) site to act as a CAS client or server.\n\nClient support means that you can send users to a third party site that supports [CAS](http://www.jasig.org/cas) (Centralized Authentication Service) to log in, and then they will be logged into your Apostrophe site. This is known as \"single sign-on.\"\n\nServer support means that other sites can use your site as a CAS server. In this case your site is the authoritative one.\n\n## Installation\n\nnpm install --save apostrophe-cas\n\n## Configuration as a CAS Client\n\nAdd the module to the `modules` section of your `app.js` file:\n\n```javascript\n    apostrophe-cas: {\n      client: {\n        protocol: 'https',\n        host: 'cas.myschool.edu',\n      },\n    }\n```\n\nNext, make sure you shut off the regular authentication system. This is a top-level option in `app.js` (that is, it's not inside \"modules,\" it's at the same level as \"modules\"):\n\n```javascript\n  auth: false\n```\n\nNow your users will be redirected to the CAS login page at `https://cas.myschool.edu/cas/login` when they try to log in. After login they are directed back. Logout is also redirected.\n\n### Creating Users On the Fly\n\nIn some cases, any person who can log into the CAS server should also be a valid account on your site.\n\nHere's how to automatically create new people on the fly:\n\n```javascript\n    apostrophe-cas: {\n      client: {\n        protocol: 'https',\n        host: 'cas.myschool.edu',\n        createPerson: true\n      },\n    }\n```\n\n### Adding New Users to a Group\n\nBy default, users created on the fly are not added to any group. You can change that, and also set default permissions for the group if it does not already exist:\n\n```javascript\n    apostrophe-cas: {\n      client: {\n        protocol: 'https',\n        host: 'cas.myschool.edu',\n        createPerson: {\n          group: {\n            name: 'guests',\n            permissions: [ 'guest' ]\n          }\n        }\n      }\n    }\n```\n\n### Forcing an Admin User\n\nYou can use the `admin` option to set a username that always receives full admin permissions upon logging in. This is convenient for bootstrapping a new site that uses CAS login. First use the `admin` option to give your own CAS account full privileges, then log in and add groups and permissions for other CAS users.\n\n```javascript\n    apostrophe-cas: {\n      client: {\n        protocol: 'https',\n        host: 'cas.myschool.edu',\n        createPerson: true,\n        admin: 'jillrocks'\n      }\n    }\n```\n\n### Setting First Names, Last Names and Other Metadata\n\nSince CAS servers frequently don't provide any more information than a username, the default behavior is to set the user's first and last name based on their username, which isn't very satisfying.\n\nAs an alternative you can set the `before` option to a callback function that obtains additional information and populates the `person` object more completely, either from the `cas` object in the session or by some other means, such as an LDAP call or database call:\n\n```javascript\n    apostrophe-cas: {\n      client: {\n        protocol: 'https',\n        host: 'cas.myschool.edu',\n        createPerson: {\n          before: function(req, cas, person, callback) {\n            // What did the cas server give us? Maybe extra\n            // attributes are being passed and we can just\n            // set person.firstName and person.lastName etc.\n\n            console.log(cas);\n\n            // No good? Try querying your LDAP or database server\n            // with person.username\n\n            // ...All done, invoke the callback\n            return callback(null);\n          }\n        }\n      }\n      },\n    }\n```\n\nThere is also an `after` option, which takes the same arguments and is invoked after the person exists in the database.\n\n### Subclassing\n\nIf you prefer you can subclass the `apostrophe-cas` module and override the `beforeCreatePerson` and `afterCreatePerson` methods in your `index.js` file. You'll need to follow the same pattern used when subclassing `apostrophe-snippets`. If this is all new to you, just use the options.\n\n### Alternate sources for the unique username\n\nBy default this module expects a unique username in the `user` property returned by CAS. If this is not the right property for your needs, you can set the `uniqueUsernameAttribute` option of the module to a different property name. Unlike `user`, which is pulled directly from the CAS profile, this will be pulled from the `attributes` object included int he CAS profile. If you need even more control you can override the `getCasUsername` method of the module.\n\n### Alternate CAS URLs\n\nIn the `client` object above you may specify any of the fields below if needed. The defaults are shown. This is taken from the documentation of the [connect-cas](https://github.com/AceMetrix/connect-cas) module, on which the client support in `apostrophe-cas` is built.\n\n```javascript\n    protocol: 'https',\n    host: undefined,\n    hostname: undefined, // ex. google\n    port: 443,\n    paths: {\n        validate: '/cas/validate',               // not implemented\n        serviceValidate: '/cas/serviceValidate', // This is the one we use\n        proxyValidate: '/cas/proxyValidate', // Not tested with Apostrophe\n        proxy: '/cas/proxy', // Not tested with Apostrophe\n        login: '/cas/login', // The user-visible login URL on the CAS server\n        logout: '/cas/logout' // Ditto for logout\n    }\n```\n\n### Disabling Login\n\nOccasionally you may need to temporarily disable login completely. To do so, set the `disabled` option to `true`:\n\n```javascript\n    apostrophe-cas: {\n      client: {\n        disabled: true\n      }\n    }\n```\n\nThis is useful during database migrations, content freezes and the like. The `disabled.html` page template will be rendered.\n\n## Configuration as a CAS Server\n\nConfiguring Apostrophe as a CAS server allows other sites to send users to Apostrophe to log in, and then redirects those users back to the other site, allowing that site to verify their username.\n\nHere's the configuration to allow two sites to do this:\n\n```javascript\n    'apostrophe-cas': {\n      server: {\n        services: [\n          'https://www.site-we-are-allowing.com/',\n          'https://www.another-ok-site.com/'\n        ]\n      }\n    }\n```\n\nThe CAS login, logout and serviceValidate URLs will be `/cas/login`, `/cas/logout` and `/cas/serviceValidate`. This is not currently configurable.\n\nFor security, the client site's URL must be in the `services` list. If the client site is lazy and sends people to both \"www.foo.com\" and plain old \"foo.com\", make sure you list both in `services`.\n\nYou *may* allow users to to come from an \"http:\" URL, but you really shouldn't, except for testing. `https` is necessary for secure use of CAS.\n\n## Security Notes\n\nThe CAS server does not check that incoming requests to the `/cas/*` routes are secured with https. Since Apostrophe is usually behind a reverse proxy like nginx, this isn't possible anyway. It is your responsibility to ensure that any non-https requests to `/cas/*` URLs are rejected by your proxy server in production.\n\n## Current Limitations\n\n* The CAS client only obtains the username from the CAS server. No other fields are retrieved automatically. However, you can set callbacks to do more with the CAS data.\n* The CAS server support is very basic and currently only provides the username to the other site. It was built as a convenient way to test the client support.\n* There is no CAS proxy support. (Does anybody use that? What for?)\n\n## Changelog\n\n### 0.5.9: the `uniqueUsernameAttribute` option can be used to specify a CAS attribute other than `user` to be used as the username.\n\n### 0.5.8: if the `client.disabled` option is true, block existing login sessions, not just new logins.\n\n### 0.5.7: do not allow users who are in the trash or do not have the login flag to log in. The Apostrophe unserialize mechanism also checks this, but it can't hurt to be thorough.\n","readmeFilename":"README.md"}