1

我目前正在实现这个库ember-simple-auth来管理我目前正在构建的 emberjs 应用程序(购物车)中的身份验证。

我遇到的困难是该库在登录后很好地管理身份验证规则,但在登录之前却没有。

所以这里是这样的场景:应用程序必须与后端服务器通信以检索每个用户的会话令牌。这是必要的,以便用户可以使用会话数据将他们的项目临时保存在服务器端。您对购物车的期望。

然后,当用户准备好继续前进时,应用程序将显示登录屏幕,用户可以验证自己以结帐他们的项目。

但是,我似乎还不知道如何使用 simple-auth 来做到这一点。如果我创建一个仅从服务器获取令牌 ID 的自定义身份验证器,它会将会话标记为已通过身份验证,并且不会要求登录已验证的路由。

一般来说,我想做的是:

  1. 客户访问网站
  2. 应用程序从服务器获取会话令牌
  3. 客户四处点击并将商品保存到购物车中。数据使用会话令牌与服务器同步
  4. 客户准备结帐并导航到结帐页面
  5. 应用程序拦截路由并将客户重定向到登录路由,客户可以登录并恢复结帐。

我希望以上信息足够清楚。任何提示和帮助将不胜感激。谢谢。

4

1 回答 1

1

我可能只会从用户实际登录的位置使用 Ember Simple Auth。在此之前,我可能会在服务器端显式创建一个篮子(POST /basket),然后添加到通过 REST 接口(PUT /baskets/:id/items左右)。这样,您就不会在客户端和服务器之间共享状态并且具有清晰的界面。您也不需要“滥用”Ember Simple Auth,这可能只会在以后导致其他问题。当用户登录时,您只需将先前创建的购物篮分配给该用户并继续。

于 2014-06-30T08:03:28.307 回答