如何使用ngx-cookie读取PassportJS会话cookie?

时间:2018-11-26 17:55:44

标签: node.js angular session cookies passport.js

我正在通过MEAN堆栈项目学习Angular。完整代码在这里:Angular front-endNode.js API

在后端,我将Passport身份验证与基于会话的默认行为结合使用,并且设置了本地,Google和Facebook策略。 Passport会将用户数据插入会话cookie中,由前端进行解析和使用以显示用户名,电子邮件地址,个人资料图片等。

所以现在在后端,我需要做的是检索cookie并将其反序列化,然后编写方法以使用所说的cookie来获取用户数据以及基本的isLoggedIn(),该方法将仅检查是否有效的cookie存在。

为此,我尝试了ngx-cookiengx-cookie-service,但都遇到了相同的问题:我可以创建和读取自己创建的Cookie,但“会话”和Passport创建的'session.sig'cookie对getAll方法(以及任何get('session'))仍然不可见。

authentication.service.ts内部的所有代码处理。当前,所有方法都针对基于令牌的身份验证,因此我需要对其进行更改。具体来说,这是我用来测试Cookie处理的方法:

public getCookies() {
    this.cookies.set('test', 'yay');
    console.log('test: ', this.cookies.check('test'));
    const allCookies = this.cookies.getAll();
    console.log('allCookies: ', allCookies);
    return allCookies;
}

该代码的控制台输出仅显示一个cookie,即“ test”。在浏览器开发工具上,我还可以访问两个cookie,即“ session”和“ session.sig”。但是如何?

谢谢!

0 个答案:

没有答案