如何检查用户登录并使Backbone获取/发布到Rails后端?(+Devise)

xu3bshqb  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(74)

我有一个使用Devise的Rails后端,和一个在单独站点上的解耦的Backbone前端。
我想让Backbone对我的项目资源的单独Rails服务器进行GET调用。基于:
1.如果用户未登录,请使用一些默认参数进行GET调用
1.如果用户已登录,则使用user.attribute作为参数进行GET调用
我还希望允许用户以POST编辑帐户详细信息(例如,user.attribute)。
我该如何:
1.检查用户是否已登录/允许用户从Backbone或单独的Rails站点登录
1.提取已登录用户的属性

  1. POST时验证真实性

TL;DR如何在Devise和Backbone之间共享会话?如何使用该会话进行呼叫?会话是否共享正确的结构?

我看过this answer,目前为止我的理解是:

  • Backbone 网将GET中的用户登录信息传递给设备/signin
  • Rails发送一个会话cookie和其他东西,我不知何故保存在Backbone的某个地方
  • 每次Backbone进行GETPOST调用时,我都会使用那个会话cookie和其他东西,Rails/Devise会以某种方式对其进行验证

提前感谢-

2jcobegt

2jcobegt1#

前端最好先假设用户已经登录,然后发出请求,服务器用401、403或类似的响应代码将请求失败返回,向前端表明用户没有通过身份验证。然后前端应该进行任何必要的调用来验证用户,然后根据需要为用户重新发出原始请求。

相关问题