如何在离线时从登录页面开始使用渐进式Web应用程序

时间:2017-05-15 13:11:19

标签: service-worker progressive-web-apps

我正在尝试将Drupal 8网站转换为渐进式网络应用程序。我已经缓存了用户使用服务工作者访问的所有页面。是否可以缓存用户登录,以便用户在离线时可以从登录页面开始使用Web应用程序?

1 个答案:

答案 0 :(得分:4)

无论您采用哪种方式,都存在安全风险。

尽管如此,与本机应用程序类似,虽然出于明显的安全原因无法缓存登录服务,但您可以保持用户登录。这意味着如果他们未登录,则无法登录,但如果他们在连接时已经登录过,那么你可以让他们登录。

如果应用程序脱机工作且我们需要身份验证,那么风险就是有人获得了设备。由于网络上没有流量,因此可以最大限度地减少攻击面,并且无需担心MitM攻击或有人通过嗅探来获取身份验证cookie。

我认为这有助于了解您在离线时进行身份验证的确切用途。如果我们正在谈论运输车(或不同的用户旅程),我建议存储某种形式的加密令牌(基于用户ID +盐),用于识别用户。这些将在连接到互联网时成功登录时添加,并用于区分当前正在访问该站点的用户。

如果您需要身份验证才能访问某些机密数据,那么我建议您需要连接才能查看该数据,以便机密数据永远不会存储在设备上。如果它存储在本地,则存在与您所具有的身份验证无关的安全风险。