相关疑难解决方法(0)

护照本地策略没有被调用

我确定我错过了一些非常明显的东西,但我无法弄明白.当提交登录表单时,我传递给LocalStrategy构造函数的函数不会被调用.

码:

var express = require('express');
var http = require('http');
var path = require('path');
var swig = require('swig');
var passport = require('passport');

var LocalStrategy = require('passport-local').Strategy;

passport.serializeUser(function(user, done) {
  console.log('Serialize user called.');
  done(null, user.name);
});

passport.deserializeUser(function(id, done) {
  console.log('Deserialize user called.');
  return done(null, {name: 'Oliver'});
});

passport.use(new LocalStrategy(
  function(username, password, done) {
    console.log('local strategy called with: %s', username);
    return done(null, {name: username});
  }));

var app = express();

app.set('port', process.env.PORT || 3000);
app.set('view engine', 'swig');
app.set('views', __dirname + '/views');
app.use(express.favicon());
app.use(express.logger('dev')); …
Run Code Online (Sandbox Code Playgroud)

node.js express passport.js

40
推荐指数
6
解决办法
3万
查看次数

使用passport-jwt验证节点API

我正在尝试使用passport-jwt设置JWT身份验证.我想我采取了正确的步骤,但测试GET不会成功,我不知道如何调试它.

这就是我所做的:

  1. 尽可能直接设置passport-jwt

    var jwtOptions = {
        secretOrKey: 'secret',
        issuer: "accounts.examplesoft.com",  // wasn't sure what this was, so i left as defaulted in the doc
        audience: "yoursite.net"   // wasn't sure what this was, so i left as defaulted in the doc
      };
    
    jwtOptions.jwtFromRequest = ExtractJwt.fromAuthHeader();
    
    passport.use(new JwtStrategy(jwtOptions, function(jwt_payload, done) {
      User.findOne({id: jwt_payload.sub}, function(err, user) {
        if (err) {
            return done(err, false);
        }
        if (user) {
            done(null, user);
        } else {
            done(null, false);
            // or you could create …
    Run Code Online (Sandbox Code Playgroud)

javascript node.js passport.js

14
推荐指数
1
解决办法
1万
查看次数

passport-jwt 401未经授权

我正在尝试实施passport-jwt身份验证,但在尝试呼叫端点时,我总是获得401 Unauthorized.

这是我的设置

passport.js

var passport = require('passport');
var User = require('../models/user');
var config = require('./auth');
var JwtStrategy = require('passport-jwt').Strategy;
var ExtractJwt = require('passport-jwt').ExtractJwt;
var LocalStrategy = require('passport-local').Strategy;

var localOptions = {
    usernameField: 'email'
};

var localLogin = new LocalStrategy(localOptions, function(email, password, done) {

    User.findOne({
        email: email
    }, function(err, user) {
        if (err) {
            return done(err);
        }
        if (!user) {
            return done(null, false, { error: 'Login failed. Please try again' });
        }

        user.comparePassword(password, function(err, isMatch) {
            if (err) {
                return …
Run Code Online (Sandbox Code Playgroud)

authentication node.js jwt passport.js

2
推荐指数
1
解决办法
7234
查看次数

标签 统计

node.js ×3

passport.js ×3

authentication ×1

express ×1

javascript ×1

jwt ×1