gpt4 book ai didi

javascript - 针对 Grails 后端的 PhoneGap 身份验证模式

转载 作者:行者123 更新时间:2023-11-28 01:56:23 26 4
gpt4 key购买 nike

我正在 Grails 中开发一个后端服务,它应该同时服务于 Web 应用程序和移动应用程序。

前端是使用 AngularJS 开发的,移动应用程序将使用相同的 AngularJS 代码库来与 PhoneGap 进行本地化。

现在,我正在寻找一种正确的方法来使用适用于 Web 应用程序和移动应用程序的 Grails 后端实现身份验证。

三个想法:

1) 将用户名和密码存储在 LocalStorage 中,并在每次请求时在后端对用户进行身份验证

2) 使用基于 cookie 的身份验证(在 PhoneGap 中启用 cookie 很棘手,我应该从 AJAX 响应中提取并附加到 AJAX 请求中)

3) 开发一个自定义协议(protocol),为后端的每个 session 生成一个 token 并将其存储在 LocalStorage 中。 session token 将在每个请求中发送到后端。

4) 使用私钥/公钥机制对每个请求进行签名(类似于 Amazon AWS)。即使在这种情况下,后端也必须验证每个请求的签名的正确性(不存在 session 概念)。

我不太信任 LocalStorage,但我没有其他想法,也找不到任何示例(使用其他后端和前端技术的示例也有帮助)。

您可以假设后端将在 HTTPS 上运行。

最佳答案

我会选择第三个,并添加一些内容:

  1. 第一次连接设备时,您可以通过某种方式(用户/密码或其他方式)对用户进行身份验证。然后,您将持久性 token 发送到设备,设备将其保存到 LocalStorage。
  2. 对于接下来的每个 session ,客户端在打开时都会将持久性 token 交换为短期 session token (短期 session token 的持续时间取决于您,具体取决于上下文)。

这与您提供的内容类似,但降低了中间人攻击和重放攻击的风险。

希望这有帮助!

关于javascript - 针对 Grails 后端的 PhoneGap 身份验证模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19035368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com