首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用rest-client post请求创建新的人员

使用rest-client post请求创建新的人员
EN

Stack Overflow用户
提问于 2013-09-08 22:14:10
回答 1查看 818关注 0票数 1

我创建了一个简单的演示应用程序,来做一些实验:

代码语言:javascript
复制
rails new rumba
rails g scaffold People name:string

然后,我写了一个小程序,请求发一个帖子:

代码语言:javascript
复制
require 'rest_client'
response = RestClient.post 'localhost:3000/people', :people => {:name => 'Joseph'}
puts response

到目前为止,它起作用,并产生一个新的人。我面临的唯一问题是,我认为这在heroku上是行不通的,因为我没有提供身份验证令牌:

代码语言:javascript
复制
Started POST "/people" for 127.0.0.1 at 2013-09-09 00:08:10 +0200
Processing by PeopleController#create as XML
Parameters: {"person"=>{"name"=>"Joseph"}}

WARNING: Can't verify CSRF token authenticity

←[1m←[35m (0.0ms)←[0m  begin transaction
←[1m←[36mSQL (2.0ms)←[0m  ←[1mINSERT INTO "people" ("created_at", "name", "upd
ated_at") VALUES (?, ?, ?)←[0m  [["created_at", Sun, 08 Sep 2013 22:08:10 UTC +0
0:00], ["name", "Joseph"], ["updated_at", Sun, 08 Sep 2013 22:08:10 UTC +00:00]]

因此,我的问题是如何在我的RestClient.post请求中提供身份验证令牌?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-08 22:40:12

一种解决方案是创建您自己的真实性令牌。你需要做几件事。

  1. Rails中的Turn off csrf token
  2. 创建一个动作,可以在Heroku应用程序中为您提供一个真实性令牌。
  3. 向上面提到的动作发出请求,然后在你的应用程序中存储给你的真实性标记。
  4. 当请求被发送到您的Heroku应用程序时,创建一个筛选器,在您的操作保存一个人之前验证这个真实性令牌。

因为您是在玩游戏,所以您可以始终将令牌设置为DateTime,然后检查该令牌用于验证它的时间。但是,如果您想在生产站点上这样做,您必须更多地考虑如何创建真实性令牌。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18689166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档