Sono abbastanza nuovo per le vele, ma dopo aver letto il documento e seguito alcuni esempi a Internet, ho deciso di dare un colpo;)Sails REST API con semplice AUTH
ho fatto un app che dipendono su un webservice REST che voglio costruire in Sails Framework - ma dopo molte ricerche non ho ancora trovato le giuste soluzioni in vele.
Penso di voler passare un (nome utente, password) o un api_key in ogni chiamata al servizio web effettuata dall'app?
Tutti gli esempi che ho trovato erano solo con un metodo di login di sessione - non con una chiave API in ogni chiamata.
Ho usato questo tutorial - http://jethrokuan.github.io/2013/12/19/Using-Passport-With-Sails-JS.html
Ma solo gli accessi a livello post alla pagina di login - Voglio che accedi al sito per ogni chiamata e ancora voglia di utilizzare la configurazione in REST API progetti.
Il problema nella mia soluzione è che una chiamata a come questo - non mi darà tutti gli utenti come previsto a causa del metodo di default REST - voglio che Auth l'utente e mi danno il risultato ..
http://example.com:1337/user/?username=test&password=xxx
Quali sono le "migliori pratiche" per la creazione di un'APP con un backend webservice REST? - "con le vele"
Alcuni del mio codice di autenticazione:
// policies/authentication.js
if(req.param('username') && req.param('password')) {
UserAuth.auth(req, res, function(err, user) {
if (err) return res.forbidden('You are not permitted to perform this action.');
if(user) {
return next();
}
});
}else{
return res.forbidden('You are not permitted to perform this action.');
}
// services/UserAuth.js
module.exports = {
auth : function(req, res, cb) {
var bcrypt = require('bcrypt');
var passport = require("passport");
passport.authenticate('local', function(err, user, info){
if (err) return cb({ error: 'auth error!', status: 400 });
if(user) {
cb(null, user);
}
})(req, res);
}
}
// config/policies.js
module.exports.policies = {
'*': "authentication"
};
È questo una domanda sul passaporto? Dovresti dargli il passaporto? – Meeker