狂欢商务:用户通过API登录

时间:2015-07-24 17:11:03

标签: ruby-on-rails cookies spree spree-auth-devise

我是新手使用Spree而我正在玩3.0稳定版。

我想使用名为"高级REST客户端"的Chrome应用程序通过API(或类似内容)将用户帐户登录到商店,然后访问商店并查看其中记录的帐户。

我无法通过https://guides.spreecommerce.com/api/中的API找到涉及用户或帐户的此类操作的任何参考。但是,我注意到如果您向localhost:3000 / login发送帐户详细信息的POST请求,您将获得商店的html代码,表明您已成功登录。

之后我检查了浏览器cookie,并且还成功创建了商店会话cookie。最后,当我将浏览器重定向到商店(localhost:3000)时,帐户未登录,但cookie仍然存在。

我认为这与Spree生成的来宾令牌有关,但我并不清楚它为什么不起作用。

如果您对如何实现我的目标有任何想法,我将不胜感激。如果您对我的目标有任何了解,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

要使用REST客户端,例如您提到的Chrome应用,您必须针对Spree的REST API进行身份验证。您需要使用spree api令牌来验证将来的请求。 看看Spree Api Auth Gem。它允许您收到这样的api令牌:

\curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d ' {"user":{"email":"camelmasa@gmail.com", "password":"camelmasa"}}' http://localhost:3000/api/users/sign_in

您还可以使用此gem创建新的用户帐户。由于Spree在下面使用devise,您也可以直接使用devise来验证您的用户。