2013-02-15 69 views
5

我的最終目標是讓用戶同時擁有多個第三方身份驗證。Rails應用程序中的多個同時運行的Oauth?

現在,我正在使用Devise來創建用戶。用戶可以通過電子郵件或Facebook或谷歌註冊,它的作品。但是現在,在他們已經註冊之後,我需要他們對youtube或soundcloud進行驗證。所以用戶是用devise創建的,但我也需要他們去驗證其他東西。

由於爲了自己的目的設計了omniauth,所以我不能在側面使用omniauth。

當我看到它,我有三種選擇:

  • 嘗試猴補丁制定並得到它允許一個用戶
  • 用手在靠近當前的一側做的OAuth在同一時間多個認證設計實施
  • 廢料設計和做不同的事情

我將不勝感激任何意見或其他選項

回答

1

嘗試猴補丁設計並得到它允許在一個使用

你不需要猴補丁色器件在同一時間多個認證---你可以有自己的OAuth控制器具有

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController 

    def facebook 
    # handle if already a twitter user 
    # handle if a new user 
    # use the `sign_in user` to sign_in the user 
    end 

    def twitter 
    # handle if already a facebook user 
    # handle if a new user 
    end 
end 

,並用它在路線

devise_for :user, 
     :controllers => { 
      :omniauth_callbacks => "users/omniauth_callbacks" 
     } 
相關問題