本文整理匯總了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({
示例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');
示例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;
示例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);
示例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;
示例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);
示例7: Strategy
import * as passport from "passport";
import { Strategy } from "passport-anonymous";
passport.use(new Strategy());
示例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();
示例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);
}));
示例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)
})
})