如何将sessionStorage内容传递给Jade变量?

时间:2014-06-23 10:38:04

标签: javascript html5 node.js express pug

您可能知道, HTML5 中有 sessionStorage 概念,我希望将其用于简单的双因素身份验证案例(在< strong> ExpressJS app)...我的玉视图上有这个逻辑/代码:

extends ../layout
block content
  - var two_factor = user.two_factor
  - var liveToken = user.liveToken
  - var inputToken = sessionStorage.userToken
  if two_factor == true
    if liveToken != inputToken
      //- Show input for entering user_token
    else
      //- Render Content
  else
    if liveToken == inputToken
      //- Render Content

在服务器端,每次用户登录时,我都会生成一个随机的6位令牌代码,然后发送给用户的手机,然后我想要做的是(通过jade)进行验证此处显示:基本上,如果用户启用了两个因子身份验证,我想只渲染一个输入字段供用户输入代码,然后将该用户输入的令牌存储到HTML5 sessionStorage中,以便稍后刷新页面并显示完整内容。 ..请注意,对于我的two_factor条件的两种情况,我都有 liveToken / inputToken 比较,因为如果用户没有启用两个因子身份验证,则理想情况下这两个值都未定义

我现在遇到的问题是我的 inputToken 变量正在返回此错误:

  

无法阅读属性&#39; userToken&#39;未定义的

我知道这种情况正在发生,因为Jade变量在服务器端被解释/执行,而服务器也不知道 sessionStorage 是什么(因为它是客户端的对象)侧);但我想知道是否有可能以某种方式完成我想做的事情(例如让jade解释为客户端上的inputToken变量因此可以为后者提供它的值刷新视图后的条件)...

有什么想法吗?

0 个答案:

没有答案