當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript passport.use函數代碼示例

本文整理匯總了TypeScript中passport.use函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript use函數的具體用法?TypeScript use怎麽用?TypeScript use使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了use函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: FacebookStrategy

});

passport.use(new FacebookStrategy({
    clientID: process.env.FACEBOOK_APP_ID,
    clientSecret: process.env.FACEBOOK_APP_SECRET,
    callbackURL: process.env.FACEBOOK_CALLBACK_URL,
    profileFields: ['id', 'displayName', 'email'],
    passReqToCallback: true
  },
  function(req, accessToken, refreshToken, profile, next) {
    User.findOne({ 'facebook.id': profile.id }).exec((err, user) => {
      if (err) return next(err);
      if (user) {
        req['tempUser'] = user;
        next(null, user);
      } else {
        let u = new User();
        u.name = profile.displayName;
        u.email = profile.emails[0].value;
        u.resetPasswordToken = Math.random().toString(36).substring(7);
        u.facebook.id = profile.id;
        u.facebook.token = accessToken;
        u.save((err, user) => {
          if (err) return next(err);
          req['tempUser'] = user;
          next(null, user);
        });
      }
    });
}));

passport.use(new GoogleStrategy({
開發者ID:Jeremy-Doucet,項目名稱:March-7-Group-Project,代碼行數:32,代碼來源:passport.ts

示例2: JwtStrategy

import * as passport from 'passport';

let opts: StrategyOptions = {
    jwtFromRequest: ExtractJwt.fromAuthHeader(),
    secretOrKey: 'secret',
    issuer: "accounts.example.com",
    audience: "example.org"
};

passport.use(new JwtStrategy(opts, function(jwt_payload, done) {
    findUser({id: jwt_payload.sub}, function(err, user) {
        if (err) {
            return done(err, false);
        }
        if (user) {
            done(null, user);
        } else {
            done(null, false, {message: 'foo'});
            // or you could create a new account
        }
    });
}));

opts.jwtFromRequest = ExtractJwt.fromHeader('x-api-key');
opts.jwtFromRequest = ExtractJwt.fromBodyField('field_name');
opts.jwtFromRequest = ExtractJwt.fromUrlQueryParameter('param_name');
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderWithScheme('param_name');
opts.jwtFromRequest = ExtractJwt.fromExtractors([ExtractJwt.fromHeader('x-api-key'), ExtractJwt.fromBodyField('field_name'), ExtractJwt.fromUrlQueryParameter('param_name')]);
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.jwtFromRequest = (req: Request) => { return req.query.token; };
opts.secretOrKey = new Buffer('secret');
開發者ID:AbraaoAlves,項目名稱:DefinitelyTyped,代碼行數:31,代碼來源:passport-jwt-tests.ts

示例3: function

let app = server.build();

// passport configuration
let passportManagement = kernel.get<PassportMiddleware>(PassportMiddleware.name);

passport.serializeUser(function(user, done) {
    passportManagement.serializeUser(user, done);
});

passport.deserializeUser(async function(id, done) {
    await passportManagement.deserializeUser(id, done);
});

passport.use(new Strategy(
    {
        passReqToCallback: true,
        usernameField: 'email'
    },
    async function(req, email, password, done) {
        await passportManagement.localStrategy(req, email, password, done);
    }
));

// 404 Error Handler
app.use(notFoundHandler);

app.listen(3000);
console.log('Server started on port 3000 :)');

exports = module.exports = app;
開發者ID:Uter1007,項目名稱:sumobase.core,代碼行數:30,代碼來源:app.ts

示例4:

}));

app.use(bodyParser.json({
    limit: '5kb',
}));

app.use(noBlanks);

app.param('count', validateCount);

db.connect(nconf.get('NOTIFIER_DB_DSN'));

/**
 * Routes
 */
passport.use(authLocal());

passport.use(authBasic());

passport.use(authCookie());

app.use(passport.initialize());

router = express.Router();

router.use(asset(nconf.get('NOTIFIER_PUBLIC_DIR')));

router.use(/^\/(login|logout)?$/, index);

router.use('/deauth', deauth);
開發者ID:lovett,項目名稱:notifier,代碼行數:30,代碼來源:server.ts

示例5: done

    done(undefined, user.id);
});

passport.deserializeUser((id: any, done: Function): void => {
    UserDao.findById(id)
        .then((user: User) => {
            done(undefined, user);
        })
        .catch((error: Error) => {
            done(error);
        });
});

passport.use(new passportLocal.Strategy(
    {
        passwordField: 'password',
        usernameField: 'email',
    },
    (email: string, password: string, done: Function) => {
        AuthController.login(email, password)
            .then((user: User) => {
                return done(undefined, user);
            })
            .catch((error: Error) => {
                return done(undefined, false, { message: 'Wrong email/password.' });
            });
    }
));

export = passport;
開發者ID:BCotrim,項目名稱:chocobo-api,代碼行數:30,代碼來源:auth.config.ts

示例6: Strategy

app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/' + apiVersion + '/user', users);
app.use('/' + apiVersion + '/notes', notes);

// Configure passport js
let opts : StrategyOptions = {
    jwtFromRequest: ExtractJwt.fromAuthHeader(),
    secretOrKey: 'secret'
}

let passport = passportModule.use(new Strategy(opts, (jwtPayload, done) => {
    let user = UserService.findById(jwtPayload.sub);
    if(!user) {
        return done(null, false);
    } else {
        done(null, user);
    }
}))

// catch 404 and forward to error handler
app.use((req: Request, res: Response, next: Function) => {
  var err: any = new Error('Not Found');
  err.status = 404;
  next(err);
});

// error handlers
app.use(function(err: any, req: Request, res: Response, next: Function) {
    console.log(err.message);
    res.sendStatus(err.status || 500);
開發者ID:DaniOtero,項目名稱:jwt-express-demo,代碼行數:32,代碼來源:app.ts

示例7: Strategy

import * as passport from "passport";
import  { Strategy } from "passport-anonymous";

passport.use(new Strategy());
開發者ID:ArtemZag,項目名稱:DefinitelyTyped,代碼行數:4,代碼來源:passport-anonymous-tests.ts

示例8: use

// @filename: passport.d.ts
declare module 'passport' {
    namespace passport {
        interface Passport {
            use(): this;
        }

        interface PassportStatic extends Passport {
            Passport: {new(): Passport};
        }
    }

    const passport: passport.PassportStatic;
    export = passport;
}

//@filename: test.ts
import * as passport from "passport";
import { Passport } from "passport";

let p: Passport = passport.use();
開發者ID:01alchemist,項目名稱:TypeScript,代碼行數:21,代碼來源:mergedDeclarations7.ts

示例9: ClientCertStrategy

import * as passport from "passport";
import {ClientCert, PkiVerifiedCallback, Strategy as ClientCertStrategy} from "passport-client-cert";

passport.use(new ClientCertStrategy( (clientCert: ClientCert, done: PkiVerifiedCallback) => {
    let cn = clientCert.subject.cn;
    let user = null;

    // The CN will typically be checked against a database
    if (cn === 'test-cn') {
        user = { name: 'Test User' };
    }

    done(null, user);
}));
開發者ID:Crevil,項目名稱:DefinitelyTyped,代碼行數:14,代碼來源:passport-client-cert-tests.ts

示例10: Strategy

    // secure: true,    // requires https
    httpOnly: true
  }
}))
// passport init
app.use(passport.initialize())
// cuz I use sessions
app.use(passport.session())

// setup strategy
passport.use(new Strategy((username, password, done) => {
  User.findOneByUsername(username, (err, user) => {
    if (err || !user)
      return done(err, null, {message: 'Not such user!'})
    else if (password !== user.password)
      return done(new Error(Auth.Messages.WrongPassword),
                  null,
                  { message: Auth.Messages.WrongPassword})
    else
      return done(null, user)
  })
}))
passport.serializeUser((user, done) => {
  done(null, user.username)
})
passport.deserializeUser((username, done) => {
  User.findOneByUsername(username, (err, user) => {
    done(err, user)
  })
})

開發者ID:merzak7,項目名稱:LearnBlog,代碼行數:30,代碼來源:go.ts


注:本文中的passport.use函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。