【问题标题】:Devise: iOS “Add to Home Screen”设计:iOS“添加到主屏幕”
【发布时间】:2015-08-17 06:07:52
【问题描述】:

当我在 iOS 设备上打开我的网络应用,登录并重新启动 Safari 时,我仍然处于登录状态。

但是当我使用“添加到主屏幕”添加此页面时,每次单击该页面的图标时,我都必须重新登录。

是否有使用 Devise gem 的解决方法,或者除了构建本机应用程序之外真的没有其他方法吗?

【问题讨论】:

  • 根据this answer 的说法,这已经不可能了,因为主屏幕网络应用程序是沙盒的。

标签: ios ruby-on-rails ruby ruby-on-rails-4 devise


【解决方案1】:

您可以尝试以下方法。

您可以在 DOM 中添加一些内容,例如隐藏的 div,其中包含您登录用户所需的数据:

<div id="authentication-div" data-user-id="5" data-user-key="abbbbaafff12899a9a">

然后您从 javascript 中获取该 div 并使用其数据向您的后端发出经过身份验证的请求。当然,这只有在您的用户在登录后将您的应用保存到主屏幕时才有效(并且您也应该在登录时重新加载页面)。

【讨论】:

  • 是不是有点不安全?这几乎就像在页面上打印用户密码一样。
  • iOS 中没有选项可以直接保存页面的 HTML 并将其发送给某人。因此,该密钥只​​能从页面本身内部访问 - 看起来非常安全。
猜你喜欢
  • 2018-09-11
  • 1970-01-01
  • 2018-10-27
  • 2014-05-25
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
相关资源
最近更新 更多