lor*_*let 2 authentication node.js parse-platform
我正在使用节点解析包在服务器上执行用户身份验证.但是,一旦单个用户登录,网站的每个访问者都将作为该用户进行身份验证.
由于parse和nodejs的性质,parse以这样的方式存储用户,使其对您的节点实例而不是客户端进行身份验证.要解决此问题,请使用解析,会话和Parse用户对象中的.become()方法提供的用户令牌.
我选择使用cookie会话进行会话.
当您的用户登录时:
parse = require('parse').Parse
parse.initialize([ your key ], [ your other key ])
parse.User.logIn(req.body.username, req.body.password, {
success: function(user) {
req.session.token = user._sessionToken
[ whatever you want to do here]
},
error: function(error) {
[ handle your error ]
}
})
Run Code Online (Sandbox Code Playgroud)
在每个页面加载:
app.use(function(req, res, next) {
parse = require('parse').Parse
parse.initialize([ your key ], [ your other key ])
parse.User.become(req.session.token ? req.session.token: "gibberish").then(function(user) { // If null is passed to .become() it will assume current(), which we don't want
[ user is now the client authenticated user ]
})
})
Run Code Online (Sandbox Code Playgroud)
登出:
parse = require('parse').Parse
parse.initialize([ your key ], [ your other key ])
parse.User.logOut()
req.session = null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2655 次 |
| 最近记录: |