【发布时间】:2016-08-09 16:40:12
【问题描述】:
我的应用在前端使用 Angular2,由运行 express 并使用 passport.js 进行 Google Oauth 身份验证的单独(跨域)后端服务器提供服务。
当服务器使用 Passport(通过 google oauth)对用户进行身份验证时,他们的用户数据将从数据库加载并包含在凭据中,用于确定他们有权使用哪些后端 API 路由。 (它基于 scotch.io 上的这个教程,我相信每个人都看过:https://scotch.io/tutorials/easy-node-authentication-setup-and-local)
我还想在前端访问这个用户对象,以启用取决于用户访问级别(在服务器上的用户对象中定义)的路由保护。
从这个问题看来,数据是通过 JWT 发送的,并且在前端是可读的,只是不可更改,这很好:https://www.reddit.com/r/Angular2/comments/4ud0ac/ng2_secure_connection_front_to_back/
如何在客户端访问和读取该令牌?我能找到的只是 express 设置的“connect.sid”会话 cookie。 cookie 的有效负载不适合标准 JWT,因为它只有 2 个部分,而不是 3 个。
【问题讨论】:
标签: express angular oauth passport.js