首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设计:在继续之前,你必须确认你的电子邮件地址。

设计:在继续之前,你必须确认你的电子邮件地址。
EN

Stack Overflow用户
提问于 2017-03-10 22:44:07
回答 1查看 2.9K关注 0票数 1

我的JSON使用devisesimple_token_authentication。根据身份验证的说法,一旦我有了电子邮件和令牌,我就应该通过身份验证,从而能够访问控制器操作。但是,当我尝试使用以下curl命令时:

curl -i -H "Accept: application/json“-H”内容-type: application/json“-H”X User-Email: donato@myemail.io“-H”X User-Token: NFHCVtZdjy2zwT_hTezU“-X GET http://localhost:3001/users/11.json

我得到以下错误:

代码语言:javascript
复制
HTTP/1.1 401 Unauthorized X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Content-Type: application/json; charset=utf-8 Cache-Control: no-cache Set-Cookie:
_my_app_session=Q0VTT1NNNGx1K2hoK3pSMXBZNFhzaG1BSXd5cGg3WWhkTmVtekEvSkc4Q2FqSkF4anZMYVc1dENWNzJkRUhwcFN2VG8yb0xzeGk4cjFtSm5tWHIxb1E9PS0tZ3V6cXZRL0ZKR3hxSVh1NWxjeENLZz09--145a421cac94ab6be992df6b0f534968ba751231; path=/; HttpOnly X-Request-Id: 8425dd4c-d13e-465b-997e-847288ddbdf0 X-Runtime: 0.027902 Transfer-Encoding: chunked

{"error":"You have to confirm your email address before continuing."}Mac-mini-3:my_app donato$

现在检查我的用户模型:

代码语言:javascript
复制
User.first.attributes.slice("confirmation_token", "confirmed_at", "confirmation_sent_at", "unconfirmed_email")
=> {"confirmation_token"=>"Lvh4XzW5wAeXmHVFEFQk", "confirmed_at"=>nil, "confirmation_sent_at"=>Fri, 10 Mar 2017 22:15:20 UTC +00:00, "unconfirmed_email"=>nil}

好像已经确认了吗?

事实上,一旦我这么做了

代码语言:javascript
复制
user.confirmed_at = Time.now
user.save!

然后这个错误消失了。设计有一种方法skip_confirmation!。但是当我用我的移动应用程序创建一个用户时,就会设计出处理所有事情的方法。我怎么能用设计来调用这个方法呢?

EN

回答 1

Stack Overflow用户

发布于 2017-03-10 23:33:01

您启用了:confirmableDevise吗?因为这是连接到:confirmable模块的User.rb中。

代码语言:javascript
复制
devise :database_authenticatable, :registerable,
       :recoverable, :rememberable, :trackable, :validatable, :confirmable

.skip_confirmation!方法在保存用户之前需要调用。

代码语言:javascript
复制
user = User.new
user.skip_confirmation!
user.save

这:可确认模块在用户模型和用户表中添加了一些字段,如果您正确地填充了这些字段,则可以跳过确认。

代码语言:javascript
复制
  ## Confirmable
  # t.string   :confirmation_token
  # t.datetime :confirmed_at
  # t.datetime :confirmation_sent_at
  # t.string   :unconfirmed_email # Only if using reconfirmable

当我为我的应用程序配置可确认模块时,您可以询问它的更多细节。

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

https://stackoverflow.com/questions/42728963

复制
相关文章

相似问题

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