我的问题涉及使用Express API的Passport用户并将cookie返回给Ember。
我已将用户名和密码发送到Express服务器并将其序列化以获取ID。 我可以使用以下方式查看身份证明:
console.log('Serializing User: ', req.session.passport.user)
OUTPUT: Serializing User: 59957ccd9da3da8d1dce2a72
我可以访问此标识,但我很难将其作为cookie发送回Ember。
到目前为止,我有:
app.post('/api/authenticate',
passport.authenticate('local'),
function(req, res){
console.log('User ID: ', req.session.passport.user)
//Write the cookie
res.cookie('CookieName', req.session.passport.user)
//Get the cookie as a cookie and stringify
var cookie = JSON.stringify(res.req.headers.cookie)
res.send({'name': 'CookieName', 'value': cookie})
})
authenticate(username, password){
console.log(username);
console.log(password);
console.log(apiHost)
//Send a promise to express with username and password to be resolved
///get express to search database
var promise = this.get('ajax').request(apiHost, {
method: 'POST',
data: {
username: username,
password: password
}
})
//accept data as a cookie
return promise.then((result) => {
//debugging
var obj = result;
console.log(obj);
var message
if(result.error){
console.log("error exists - let's reject")
message = promise["error"];
return Promise.reject(message);
} else {
console.log("promise accepted")
message = promise;
return Promise.resolve(message);
}
})
}
邮差漂亮的状态:出乎意料的' B' 邮差原始状态:错误请求
这是我第一次使用Passport,Cookies和实施身份验证。
我只需要接受JSON并让它成为一个cookie,以便我可以在将来请求访问Express中的会话
提前致谢!