【问题标题】:Devise, twitter - ask for confirmation email设计,推特 - 要求确认电子邮件
【发布时间】:2011-09-17 09:05:15
【问题描述】:

我已经使用与此非常相似的东西实现了 twitter 身份验证:https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

我的问题是,既然推特没有给你用户的电子邮件,你怎么能引导用户回到:

  1. 用户使用 twitter 登录
  2. 向用户显示电子邮件表单
  3. 用户需要确认他/她的电子邮件
  4. 单击确认链接将用户发送到已登录的站点

Devise 非常关心#3 和#4。我应该如何构造我的代码以允许 #2 转换为 #3 和 #4?

谢谢!

【问题讨论】:

    标签: ruby-on-rails omniauth


    【解决方案1】:

    在 twitter 回调页面中显示新的用户表单。将 twitter 令牌存储在隐藏字段中。然后你可以在你的控制器中创建新用户并使用 twitter 令牌做你想做的事。 User.create 也会发送确认邮件。

    User.create(:email => params[:email], :password => params[:password], :password_confirmation => params[:password_confirmation])
    

    【讨论】:

      【解决方案2】:

      Ryan Bates 在他的截屏视频OmniAuth Part 2 中介绍了大部分内容,要获得电子邮件确认,您只需添加confirmable 选项即可设计。

      【讨论】:

      • 您知道设计现在允许 twitter 集成开箱即用吗? github.com/plataformatec/devise/wiki/OmniAuth:-Overview
      • 对不起,我就是这么干的。我确信看看教程中实现的代码,你可以解决一些问题。
      • 我对他的方法唯一的犹豫是他使用的是身份验证模型而不是设计的会话模型
      猜你喜欢
      • 2011-08-22
      • 1970-01-01
      • 2012-03-10
      • 2019-08-04
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      相关资源
      最近更新 更多