设计,推特 - 要求确认电子邮件

时间:2011-09-17 09:05:15

标签: ruby-on-rails omniauth

我使用与此非常类似的东西实现了twitter认证:https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

我的问题是,由于Twitter没有向您提供用户的电子邮件,您如何将用户引导回以下流程:

  1. 用户使用Twitter登录
  2. 向用户显示电子邮件表单
  3. 用户需要确认他/她的电子邮件
  4. 点击确认链接会将用户发送到登录的网站
  5. 设计很好地照顾#3和#4。我应该如何构建代码以允许#2转换为#3和#4?

    谢谢!

2 个答案:

答案 0 :(得分:3)

在Twitter回调页面中显示新用户表单。将Twitter令牌存储在隐藏字段中。然后,您可以在控制器中创建新用户,并使用Twitter令牌执行您想要的操作。 User.create 也会发送确认电子邮件。

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

答案 1 :(得分:1)

Ryan Bates在他的截屏视频OmniAuth Part 2中涵盖了大部分内容,要获取确认电子邮件,您需要添加confirmable选项来设计。