{"_id":"@byu-law/passport-cas","_rev":"1-88b10bd93491461f6ba0ff362f01ad5d","name":"@byu-law/passport-cas","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.2":{"name":"@byu-law/passport-cas","version":"0.1.2","description":"Cas authentication strategies for Passport.","main":"index.js","scripts":{},"repository":{"type":"git","url":"git+ssh://git@github.com/harrisbmark/passport-cas.git"},"keywords":["passport","auth","cas"],"author":{"name":"不会飞的羊"},"license":"MIT","bugs":{"url":"https://github.com/harrisbmark/passport-cas/issues"},"homepage":"https://github.com/harrisbmark/passport-cas","dependencies":{"node-uuid":"1.4.8","underscore":"1.9.1","xml2js":"0.4.22"},"gitHead":"62c05ecac998f4467a9ad64e6c091e454ddc7383","_id":"@byu-law/passport-cas@0.1.2","_npmVersion":"5.8.0","_nodeVersion":"10.15.2","_npmUser":{"name":"harrisbmark","email":"harrism@law.byu.edu"},"dist":{"integrity":"sha512-f0zDMY7UicSEdsh+6oNks4i7J6k3yABB48YLilTRZkTbJQmhSW1dlshwOx7b1sDECnuN11m+kh7WjMCY/gBRQA==","shasum":"277de7d92803b3e441d655d864b4d43c501de5f7","tarball":"https://registry.npmjs.org/@byu-law/passport-cas/-/passport-cas-0.1.2.tgz","fileCount":3,"unpackedSize":12937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtzYBCRA9TVsSAnZWagAA3pYP/1scI0BfFZCDPnwjqq3c\n967Lzzw+CN+2zK0/pkUAS3Ky5eT5Et/SUQYQT8J0ObNw8oh9PgxNJdca8EMu\nOlqbcfvXEFQkcaHnVE/jmaBqGXgMhpVby6aU22IC3Z3ajvxxew10jDZvXSud\nvlygYYDkJEkS/6uFUyJ6y8wxjJ07kosXOFfzFI0OVY4TbdKVVCjSW0/jFR2j\n4FC0dN6oBmf5PUzPG9a4k4S6+LFLEiCGQBbLmOA5GonBMbTZ8Unrr/oqsDt3\nu5G7A6oG72p7Pv/6Pr+P5LGhuW5OwQ8jdS4kEj7CFKXM/7wKmSpcOGs3cDqd\nlDZv+/2bDp/1aFPKiUau0vBSKrz9aGozqZjUbVRsKKQFQKuXdAAHW0kvrtP1\n2c4MRIMZ7147Z3yxXtNqfUq42XkLmp7r5eHcNEugfVKzY4j4e47m/aMFo1xZ\n+9g6NpPwSH8JsDsOuVN4a60Ou088JpQBLOHMk9gojrfYO7lTMtaIwyG2NIQt\nTVAlYYc8DpvNTI9pCRnbGRJt2LHLZBrRGjTG0XyCU0MihiSMgEDRe9wJft0h\nZC3tVWeQj8jJuQx1rNq/PYoDK+1os7xiIVv4Ny0Io4wvOp8pHFTIQLcoN8oU\nnSusivAmrSHdgo1UsRVF4duyUPwCOF8hfagszqIjUYIbmzqbMNtLOwuYqSmT\npx12\r\n=M4NB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIELAayT7budCUGR5u7QQnPx+EhJnKr04YW6mXI34yua0AiEA1VluQwcs43Iu99hh+O1VHR+PvFjzHglSnMKyem1dvLA="}]},"maintainers":[{"name":"harrisbmark","email":"harrism@law.byu.edu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/passport-cas_0.1.2_1572288000780_0.3841984951118751"},"_hasShrinkwrap":false}},"time":{"created":"2019-10-28T18:40:00.580Z","0.1.2":"2019-10-28T18:40:00.912Z","modified":"2022-04-04T21:22:50.902Z"},"maintainers":[{"name":"harrisbmark","email":"harrism@law.byu.edu"}],"description":"Cas authentication strategies for Passport.","homepage":"https://github.com/harrisbmark/passport-cas","keywords":["passport","auth","cas"],"repository":{"type":"git","url":"git+ssh://git@github.com/harrisbmark/passport-cas.git"},"author":{"name":"不会飞的羊"},"bugs":{"url":"https://github.com/harrisbmark/passport-cas/issues"},"license":"MIT","readme":"# Forked Changes:\nForked from https://github.com/sadne/passport-cas\n1) Changed the code for the ticket query parameter to work with Express v4.\n\n# passport-cas\n\nCas authentication strategies for Passport.\n\n\n## Install\n\n    $ npm install passport-cas\n\n#### Configure Strategy\n\n    passport.use(new (require('passport-cas').Strategy)({\n      ssoBaseURL: 'http://www.example.com/',\n      serverBaseURL: 'http://localhost:3000'\n    }, function(login, done) {\n      User.findOne({login: login}, function (err, user) {\n        if (err) {\n          return done(err);\n        }\n        if (!user) {\n          return done(null, false, {message: 'Unknown user'});\n        }\n        return done(null, user);\n      });\n    }));\n\n#### Authenticate Requests\n\n    passport.authenticate('cas', function (err, user, info) {\n      if (err) {\n        return next(err);\n      }\n\n      if (!user) {\n        req.session.messages = info.message;\n        return res.redirect('/');\n      }\n\n      req.logIn(user, function (err) {\n        if (err) {\n          return next(err);\n        }\n\n        req.session.messages = '';\n        return res.redirect('/');\n      });\n    })\n\nFor example:\n\n    // GET: '/cas_login'\n    exports.casLogin = function(req, res, next) {\n      passport.authenticate('cas', function (err, user, info) {\n        if (err) {\n          return next(err);\n        }\n\n        if (!user) {\n          req.session.messages = info.message;\n          return res.redirect('/');\n        }\n\n        req.logIn(user, function (err) {\n          if (err) {\n            return next(err);\n          }\n\n          req.session.messages = '';\n          return res.redirect('/');\n        });\n      })(req, res, next);\n    };\n\n### CAS versions\n\n## CAS 3.0 configuration\nSince CAS3.0, the validation service returns a list of attributes for the authenticated user.\nHere is how you can use them:\n\n    passport.use(new (require('passport-cas').Strategy)({\n      version: 'CAS3.0',\n      ssoBaseURL: 'http://www.example.com/',\n      serverBaseURL: 'http://localhost:3000'\n    }, function(profile, done) {\n      var login = profile.user;\n\n      User.findOne({login: login}, function (err, user) {\n        if (err) {\n          return done(err);\n        }\n        if (!user) {\n          return done(null, false, {message: 'Unknown user'});\n        }\n        user.attributes = profile.attributes;\n        return done(null, user);\n      });\n    }));\n\n## CAS 2.0 configuration\nCAS 2.0 will work with the CAS 3.0 configuration, but you need to set the validation endpoint.\n\n    passport.use(new (require('passport-cas').Strategy)({\n      version: 'CAS3.0',\n      ssoBaseURL: 'http://www.example.com/',\n      serverBaseURL: 'http://localhost:3000/cas',\n      validateURL: '/serviceValidate'\n    }, function(profile, done) {\n      var login = profile.user;\n    \n      User.findOne({login: login}, function (err, user) {\n        if (err) {\n          return done(err);\n        }\n        if (!user) {\n          return done(null, false, {message: 'Unknown user'});\n        }\n        return done(null, user);\n      });\n    }));\n\n## License\n\n[The MIT License](http://opensource.org/licenses/MIT)\n","readmeFilename":"README.md"}