2015-05-25 4 views
0

Я застрял.Паспорт с feathersjs и локальная стратегия, но без сеансов

Может ли Featherjs с аутентификацией Passport с локальной стратегией и не включать сеансы?

Когда я включаю сеансы, первый запрос не авторизован, а второй - потому, что используется файл cookie с первого запроса. Я не хочу использовать файлы cookie.

я установки мой код, как:

var hooks = require('feathers-hooks'); 
var bodyParser = require('body-parser'); 
var session = require('express-session'); 
var passport = require('passport'); 
var feathers = require('feathers'); 
var feathersPassport = require('feathers-passport'); 
var LocalStrategy = require('passport-local').Strategy; 

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

passport.use(new LocalStrategy(function (username, password, done) { 
    done(null, "userid here"); 
})); 


//Use the id to serialize the user 
passport.serializeUser(function (user, done) { 
    done(null, user); 
}); 

// Deserialize the user retrieving it form the user service 
passport.deserializeUser(function (id, done) { 
    done(null, "userid here"); 
}); 


var myService = { 
    find: function (params, callback) { 
     if (params.user) { 
      console.log('yeh'); 
     } 
     else { 
      callback('not authorized', null); 
     } 
    } 
}; 

// A shared session store must be provided. 
//TODO This MemoryStore is not recommended for production 
var store = new session.MemoryStore(); 

// Initialize the application 
app.configure(feathers.rest()) 
    .configure(hooks()) 
    .configure(feathersPassport({ 
     secret: 'feathers-rocks', 
     store: store 
    })); 

app.use(bodyParser.urlencoded({extended: true})); 

app.use('/should/be/protected', passport.authenticate('local', {session: true}), myService); 

app.listen(4000); 

ответ

1

перья паспорт фактически не рекомендуется. Перья определенно поддерживают аутентификацию без сеансов (на самом деле все это официально поддерживается прямо сейчас). Существует модуль new-ish, называемый перьями-аутентификацией. Вы можете посмотреть на http://docs.feathersjs.com/authentication/readme.html.