来自 Appgyver Supersonic 移动应用程序的 Express/Nodejs 身份验证

Authentication w/ Express/Nodejs from Appgyver Supersonic Mobile App

我的无知在这件事上大放异彩。我有一个使用 MEAN 堆栈(Mongo、Express、Angularjs、Nodejs)的 Web 应用程序,并且某些功能在移动设备上表现平平。所以我正在 Appgyver Supersonic 平台上开发该应用程序的移动版本。 Appgyver 框架基于 Angularjs 前端。

所以我希望只使用与 运行 相同的 Express/Nodejs 服务器用于 Web 应用程序,并从移动应用程序创建 queries/requests。身份验证是我目前的挑战。我假设我可以通过 POST 请求发送用户名和密码并登录并创建一个新会话。我可以登录,但无法访问会话 cookie connect.sid,因此我的下一个请求没有会话数据。

TLDR;我有一个 Angular 应用程序与我的 Express/Nodejs 后端位于不同的服务器上。我想对 Angular 应用程序进行身份验证,但不知道如何访问 connect.sid cookie。

因为这从来没有得到任何关注,而且我发现了我认为是 'workable' 的解决方案,我想我会回答我自己的问题。如果您发现我在这里做的事情非常愚蠢,请告诉我。

当我将客户端登录到服务器时,我使用会话令牌进行响应。我将相同的标记存储在 Mongoose 的用户配置文件中。我使用 localStorage 将令牌存储在移动设备上。

每当我向服务器发送请求时,我都会发送令牌,并让服务器检查令牌是否与用户令牌匹配 - 如果匹配,我会获取用户配置文件数据并将其分配给 req.user;然后似乎使后端正常运行。

有任何重大安全问题吗?