2013-02-15 14 views
5

私の最終目標は、複数のサードパーティ認証を同時に行うことです。Railsアプリケーションで複数の同時Oauth?

今、Deviseを使用してユーザーを作成しています。ユーザーは電子メールやFacebookやGoogleを介してサインアップすることができます。しかし、今、すでにサインアップした後、YouTubeやサウンドクラウドでも確認する必要があります。だから、ユーザーはdeviseで作成されましたが、私は他のものでも検証する必要があります。

私は自分の目的のために魔法使いを雇っているので、私は側でオムニバスを使うことはできません。

私はそれを見ると、私は3つのオプションがあります。

  • 、現在に隣接する側の手でOAuthのいずれかの操作を行い、ユーザ
  • に同時に複数の認証を許可するように工夫してもらうモンキーパッチしてください私は非常に任意のアドバイスや他のオプション

    をいただければ幸い実装
  • スクラップ工夫を考案し、

異なる何かをします

答えて

1

でそれを使用する:http://blog.joshsoftware.com/2010/12/16/multiple-applications-with-devise-omniauth-and-single-sign-on/

オープンソースのコードもあります。

プロバイダ:https://github.com/joshsoftware/sso-devise-omniauth-provider クライアント:https://github.com/joshsoftware/sso-devise-omniauth-client

あるいはさらに良い、これをチェックアウト:http://communityguides.heroku.com/articles/16

+0

おかげFletchRichman – mcclaskc

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" 
     } 
関連する問題