Session 如何将现有服务器令牌与emberjs simple auth一起使用

Session 如何将现有服务器令牌与emberjs simple auth一起使用,session,authentication,ember.js,ember-simple-auth,Session,Authentication,Ember.js,Ember Simple Auth,我目前正在实现这个库来管理我目前正在构建的emberjs应用程序(购物车)中的身份验证 我遇到的困难是,库在登录后很好地管理身份验证规则,而不是在登录之前 下面是一个场景: 应用程序必须与后端服务器通信,以便为每个用户检索会话令牌。这是必要的,以便用户可以使用会话数据在服务器端临时保存他们的项目。这是你对购物车的期望 然后,当用户准备向前移动时,应用程序将显示登录屏幕,用户可以验证自己以签出其项目 然而,我似乎还不知道如何使用SimpleAuth实现这一点。如果我创建一个只从服务器获取令牌id的

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

我遇到的困难是,库在登录后很好地管理身份验证规则,而不是在登录之前

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

然后,当用户准备向前移动时,应用程序将显示登录屏幕,用户可以验证自己以签出其项目

然而,我似乎还不知道如何使用SimpleAuth实现这一点。如果我创建一个只从服务器获取令牌id的自定义验证器,它会将会话标记为已验证,并且不会要求登录authenticatedRoute

一般来说,我想做的是:

  • 客户访问网站
  • 应用程序从服务器获取会话令牌
  • 客户点击并将商品保存到购物车中。使用会话令牌将数据与服务器同步
  • 客户准备结帐并导航到结帐页面
  • 应用程序截取该路径并将客户重定向到登录路径,客户可以在该路径中登录并恢复签出

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

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