123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- /**
- * Module dependencies.
- */
- //var http = require('http')
- // , req = http.IncomingMessage.prototype;
- var req = exports = module.exports = {};
- /**
- * Initiate a login session for `user`.
- *
- * Options:
- * - `session` Save login state in session, defaults to _true_
- *
- * Examples:
- *
- * req.logIn(user, { session: false });
- *
- * req.logIn(user, function(err) {
- * if (err) { throw err; }
- * // session saved
- * });
- *
- * @param {User} user
- * @param {Object} options
- * @param {Function} done
- * @api public
- */
- req.login =
- req.logIn = function(user, options, done) {
- if (typeof options == 'function') {
- done = options;
- options = {};
- }
- options = options || {};
-
- var property = 'user';
- if (this._passport && this._passport.instance) {
- property = this._passport.instance._userProperty || 'user';
- }
- var session = (options.session === undefined) ? true : options.session;
-
- this[property] = user;
- if (session) {
- if (!this._passport) { throw new Error('passport.initialize() middleware not in use'); }
- if (typeof done != 'function') { throw new Error('req#login requires a callback function'); }
-
- var self = this;
- this._passport.instance._sm.logIn(this, user, function(err) {
- if (err) { self[property] = null; return done(err); }
- done();
- });
- } else {
- done && done();
- }
- };
- /**
- * Terminate an existing login session.
- *
- * @api public
- */
- req.logout =
- req.logOut = function() {
- var property = 'user';
- if (this._passport && this._passport.instance) {
- property = this._passport.instance._userProperty || 'user';
- }
-
- this[property] = null;
- if (this._passport) {
- this._passport.instance._sm.logOut(this);
- }
- };
- /**
- * Test if request is authenticated.
- *
- * @return {Boolean}
- * @api public
- */
- req.isAuthenticated = function() {
- var property = 'user';
- if (this._passport && this._passport.instance) {
- property = this._passport.instance._userProperty || 'user';
- }
-
- return (this[property]) ? true : false;
- };
- /**
- * Test if request is unauthenticated.
- *
- * @return {Boolean}
- * @api public
- */
- req.isUnauthenticated = function() {
- return !this.isAuthenticated();
- };
|