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


TypeScript ExtractJwt.fromHeader方法代碼示例

本文整理匯總了TypeScript中passport-jwt.ExtractJwt.fromHeader方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript ExtractJwt.fromHeader方法的具體用法?TypeScript ExtractJwt.fromHeader怎麽用?TypeScript ExtractJwt.fromHeader使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在passport-jwt.ExtractJwt的用法示例。


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

示例1: function

function (model: DatabaseObject, passport: Passport): void {
  let opts: any = {}
  opts.secretOrKey = model.tokenSalt
  opts.jwtFromRequest = ExtractJwt.fromHeader('token')

  let strategy = new Strategy(opts, (jwtPayload, done) => {
    model.user.findOne({ _id: jwtPayload._doc._id }).exec()
    .then((account) => {
      account === undefined ? done(undefined, false) : done(undefined, account)
    }, (err) => {
      done(err, false)
    })
  })

  passport.use(strategy)
}
開發者ID:chipp972,項目名稱:stock_manager_api,代碼行數:16,代碼來源:auth.ts

示例2: done

import passport from 'passport';
import {User} from '../db/models/user';
import {Strategy as JwtStrategy, ExtractJwt} from 'passport-jwt';
import {Strategy as LocalStrategy} from 'passport-local';

const jwtOptions = {
    jwtFromRequest: ExtractJwt.fromHeader('authorization'),
    secretOrKey: 'secret' // TODO: Move to .env
};

const localOptions = {usernameField: 'email'};
const localLogin = new LocalStrategy(localOptions, async (email: string, password: string, done: Function) => {
    try {
        const user = await User.findOne({email});

        if (!user) {
            return done(null, false);
        }

        user.comparePassword(password, (err: any, isMatch: boolean) => {
            if (err) {
                return done(err);
            }

            if (!isMatch) {
                return done(null, false);
            }

            return done(null, user);
        });
    } catch (err) {
開發者ID:Antyneskul,項目名稱:homeBudgetApi,代碼行數:31,代碼來源:passport.ts

示例3: 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 = (req: Request) => { return req.query.token; };

declare function findUser(condition: {id: string}, callback: (error: any, user :any) => void): void;
開發者ID:0815fox,項目名稱:DefinitelyTyped,代碼行數:30,代碼來源:passport-jwt-tests.ts

示例4: JwtStrategy

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 = (req: Request) => { return req.query.token; };
opts.secretOrKey = new Buffer('secret');

declare function findUser(condition: {id: string}, callback: (error: any, user :any) => void): void;
開發者ID:IceCreamYou,項目名稱:DefinitelyTyped,代碼行數:30,代碼來源:passport-jwt-tests.ts


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