ruby-on-rails - spree 商务 : User Login through API

标签 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,也成功创建了商店 session cookie。最后,当我将浏览器重定向到商店 (localhost:3000) 时,该帐户没有登录,但 cookie 仍然保留在那里。

我认为与 Spree 生成的访客 token 有关,但我不明白为什么它不起作用。

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

最佳答案

为了使用 REST 客户端,例如您提到的 Chrome 应用程序,您必须针对 Spree 的 REST API 进行身份验证。您需要一个 spree api token 来验证 future 的请求。
看看 Spree Api Auth Gem .它允许您接收这样的 api token :

\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 来验证您的用户。

关于ruby-on-rails - spree 商务 : User Login through API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31616177/

相关文章:

ruby-on-rails - 通过 ROR 连接到 AppNexus API

ruby-on-rails - Rails - 从模型生成迁移脚本

c# - Cookie解密

ruby-on-rails - 如何在 Capistrano 部署的生产环境中对我的产品图像进行符号链接(symbolic link)?

ruby-on-rails-4 - 回形针无法更改默认路径

ruby-on-rails - Capybara 可以与 Turbolinks 一起玩吗?

ruby-on-rails - I18n::MissingTranslationData:翻译丢失:播种数据库时出现 en.faker 错误

security - 哪些 cookie 属性唯一标识 cookie?

java - 如何在 OData 响应 Olingo 中设置 cookie?

ruby-on-rails - 大礼包安装错误 : Could not find gem 'spree_skrill (>= 0) ruby'