我正在开发我的第一个Node / Express应用程序并且我能够创建 具有用户身份验证功能的应用 但我不明白的是,如何将用户连接到他/她在登录后制作的内容(例如设置)以及如何/在何处保存它? 因此,如果另一个用户登录,他/她将使用他们所做的设置获取所选设备。
我的应用目标是控制树莓上的传感器,例如打开和关闭它们或从连接的网络摄像头拍摄照片。 那么有人可以解释如何处理用户的数据/设置等吗?
如果这是一个愚蠢的问题,我很抱歉。但我是新手,喜欢了解我在做什么,之前,我只做了HTML(S)CSS和简单的JS,我没有必要担心后端部分。
答案 0 :(得分:3)
对于身份验证,最好使用Web令牌。
https://github.com/auth0/express-jwt
参考:
Node js, JWT token and logic behind
我认为这是一个用于身份验证的npm模块。您可以在github repo中获得更好的文档。
实现示例链接:
https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens
答案 1 :(得分:1)
对于在RPi或BONE上运行的一些Node应用程序,我使用MongoDB和Mongoose ODM。
然后,您应该创建用户实体/模型并使用标识符存储您的用户。
module.exports = {
user: {
userId: Number,
name: String,
otherSettings: String
}
}
var userSchema = require('./user-schema');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
module.exports = {
userSchema: new Schema(userSchema.user)
}
var schemaBuilder = require('./schema-builder');
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydb');
var User = mongoose.model('User', schemaBuilder.userSchema);
module.exports = {
getUserById: function(id, callback){
User.findById(id, callback);
},
addNewUser: function(userJson, callback){
console.log('Adding new user');
var newUser = new User(userJson);
newUser.save();
}
};
var userRepo = require('./repositories/user-repo');
// Let's say this logic is to look for an existing user
var user;
userRepo.getUserById(userId, function(user){
// If no user found, proceed with registration
// Else, proceed with auth or login. Then use and/or update user
//..settings as required
});
希望这有帮助!