2011-09-17 36 views
8

tôi đã thực hiện chứng thực twitter với devise sử dụng một cái gì đó rất tương tự như sau: https://github.com/plataformatec/devise/wiki/OmniAuth:-Overviewlập mưu, twitter - yêu cầu email xác nhận

Câu hỏi của tôi là, kể từ twitter không cung cấp cho bạn các email của người dùng, làm thế nào có thể bạn chỉ đạo việc sử dụng trở lại dòng chảy của:

  1. người dùng đăng nhập với twitter
  2. tài được trình bày với một hình thức email
  3. người dùng cần phải xác nhận/email của mình
  4. liên kết xác nhận nhấp sẽ gửi người dùng đến trang web đã đăng nhập

Phát sinh khá nhiều việc chăm sóc với # 3 và # 4. Tôi nên cấu trúc mã của mình như thế nào để cho phép # 2 chuyển tiếp sang # 3 và # 4?

Cảm ơn!

Trả lời

1

Ryan Bates chi trả hầu hết số tiền này trong màn hình OmniAuth Part 2 của mình, để nhận được email xác nhận, tất cả những gì bạn cần làm là thêm tùy chọn confirmable để tạo.

+0

Bạn biết giờ đây cho phép tích hợp twitter ra khỏi hộp phải không? https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview I – disappearedng

+0

Xin lỗi, đó là cách tôi đã làm. Tôi chắc chắn nhìn vào mã được thực hiện trong hướng dẫn bạn có thể làm việc gì đó ra ngoài. – twe4ked

+0

Sự do dự duy nhất tôi có với cách tiếp cận của anh ấy là anh ấy đang sử dụng mô hình Authentications thay vì mô hình phiên của Devise – disappearedng

3

Hiển thị biểu mẫu người dùng mới trong trang gọi lại twitter. Lưu trữ mã thông báo twitter trong trường ẩn. Sau đó, bạn có thể tạo người dùng mới trong bộ điều khiển của mình và thực hiện những gì bạn muốn bằng mã thông báo twitter. User.create cũng sẽ gửi email xác nhận.

User.create(:email => params[:email], :password => params[:password], :password_confirmation => params[:password_confirmation]) 
Các vấn đề liên quan