2017-03-23 1 views
0

Je suis suivantes Feathersjs docs concernant l'authentification,
et j'ai un middleware /inscription,
de User Management docs:Feathersjs: Passage à des prises au lieu de repos, à l'aide de Middleware Express avec Sockets

module.exports = function(app) { 
    return function(req, res, next) { 
    const body = req.body; 
    app.service('users').create({ 
     email: body.email, 
     password: body.password 
    }) 
    // Then redirect to the login page 
    .then(user => res.redirect('/login.html'))//this will be a redirect in my client not in the server  
    .catch(next); 
    }; 
}; 

maintenant à src/middleware/index.js: J'ai:

module.exports = function() { 
    const app = this; 

    app.post('/signup', signup(app));// how can I reimplement this with sockets 
    app.use(notFound()); 
    app.use(logger(app)); 
    app.use(handler()); 
}; 

En utilisant REST était facile:

request.post(`${SERVER}/signup`) 
     .send({ email: username, password: password }) 
     .then(data=>{console.log(`data comming from response`,data)}) 
     .catch(error=>{console.log(`ERROR comming from response`,error)}) 

Le problème est que maintenant que je suis en utilisant les sockets (plumes client) Je ne sais pas comment dire client des plumes « après » l'e-mail/laissez-passer à cela /inscription middleware. Y'a-t-il une quelconque façon de réussir cela?
ceci est mon client conf:

import feathers from 'feathers-client';  
const io = require('socket.io-client'); 
var socket = io(SERVER); 


let feathersClient = 
    feathers() 
    .configure(feathers.socketio(socket)) 
    .configure(feathers.hooks()) 
    .configure(feathers.authentication({ 
     storage: window.localStorage 
    })); 

Répondre

0

Vous n'avez pas besoin du middleware d'inscription. Il suffit de créer un nouvel utilisateur via le service /users sur votre client comme ceci:

import feathers from 'feathers-client';  
const io = require('socket.io-client'); 
var socket = io(SERVER); 


let feathersClient = 
    feathers() 
    .configure(feathers.socketio(socket)) 
    .configure(feathers.hooks()) 
    .configure(feathers.authentication({ 
     storage: window.localStorage 
    })); 

feathersClient.service('users').create({ 
    email: '[email protected]', 
    password: 'testing' 
}); 

Ensuite, vous serez en mesure d'authentifier l'utilisateur comme ceci:

feathersClient.authenticate({ 
    type: 'local', 
    email: '[email protected]', 
    password: 'testing' 
}); 
+0

Désolé, je suis en vacances ... J'avais c'est comme ça mais je voulais utiliser la fonctionnalité de redirection dans le processus de journalisation, mais je lisais que cela ne fonctionne pas avec les sockets. merci @Daff – yokodev