ich Segel ziemlich neu bin, aber nach dem doc lesen und einige Beispiele im Internet gefolgt, habe ich beschlossen, eine Chance zu geben;)Segel REST API mit einfachen AUTH
Ich habe eine APP gemacht, die abhängig auf einem REST-Webservice, den ich im Sails Framework aufbauen möchte - aber nach vielen Recherchen habe ich noch nicht die richtigen Lösungen in den Segeln gefunden.
Ich denke, ich möchte ein (Benutzername, Passwort) oder api_key in jedem Webservice-Anruf aus der App übergeben?
Alle Beispiele, die ich fand, war nur mit einer Sitzung Login-Methode - nicht mit einem API-Schlüssel in jedem Anruf.
benutzen ich diese Tutorial - http://jethrokuan.github.io/2013/12/19/Using-Passport-With-Sails-JS.html
Aber nur Anmeldungen bei Post zur Login-Seite - ich mag es in jedem Gespräch anmelden und will immer noch den Bau in der REST-API Plänen verwenden.
Das Problem in meiner Lösung besteht darin, dass ein Anruf dies mögen - wird mich nicht alle Benutzer als wegen der Standard-REST-Methode erwartet - ich will es den Benutzer auth und geben Sie mir das Ergebnis ..
http://example.com:1337/user/?username=test&password=xxx
Was sind die "Best Practices" für die Erstellung einer APP mit einem REST-Webservice-Backend? - "mit Segeln"
Einige meiner Auth-Code:
// 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"
};
Ist das eine Passfrage? Solltest du ihm die Passmarke geben? – Meeker