1
私はkeystonejsセッションでいくつかの助けが必要です。私はショッピングカートで作業しています。顧客がカートに商品を追加した後、チェックアウトページに移動して、ユーザーとしてサインインするよう強制します。ただし、サインインすると、セッションが再開され、カートの内容が消去されます。Keystonejsセッション
私の質問:サインインして既存のセッションを維持してから、セッションにユーザーIDを追加する方法はありますか?
私はconnect-mongoを使ってmongodbへのセッションを維持しています。
私はセッション に製品を追加し、ユーザーを認証するために
view.on('post', { action: 'login' }, function (next) {
if (!req.body.email || !req.body.password) {
req.flash('error', { detail: 'Please enter your email and password.' });
return next();
}
var onSuccess = function() {
req.flash('success', { detail: 'Great you are now logged in!' });
res.redirect('/checkout');//redirect on success
}
var onFail = function() {
req.flash('error', { detail: 'Input credentials were incorrect, please try again.' });
return next();
}
keystone.session.signin({ email: req.body.email, password: req.body.password }, req, res, onSuccess, onFail);//
使用するreq.session.cart
を書かれています。
よろしく私の知る限りは、リクエストオブジェクトに、キーストーンonly appends the user
propertyを持つユーザーのサインインを伝えることができるよう
私はconnect-mongoを使ってmongodbにセッションを残していますし、 'keystone.session.signin'を使ってユーザーに署名しています。ユーザーがサインインすると、現在のセッションが削除され、上記のようにユーザーIDを持つ新しいセッションに置き換えられたことに気付きました。 – Mendo