11314


omniauthを使ってFacebook、Twitterのログインと通常のメールアドレス登録を実装しています。  
deviseでメール認証する(confirmable)ようにしました。。  
FacebookとTwitterのログインのときには、メール認証せずにログインするようにしたいので  
下記のように`@user.skip_confirmation!`を追加し無事認証はできるようになったのですが  
認証メールが送られる状態です。どうすればメールを送らないようにできるでしょうか？

[code]

    class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
    
      def facebook
        callback_from :facebook
      end
    
      def twitter
        callback_from :twitter
      end
    
      private
    
      def callback_from(provider)
        provider = provider.to_s
    
        @user = User.find_for_oauth(request.env['omniauth.auth'])
        @user.skip_confirmation!
        if @user.persisted?
          flash[:notice] = I18n.t('devise.omniauth_callbacks.success', kind: provider.capitalize)
          sign_in_and_redirect @user, event: :authentication
        else
          if provider == 'twitter'
            session["devise.twitter_data"] = request.env["omniauth.auth"].except("extra")
          else
            session["devise.facebook_data"] = request.env["omniauth.auth"]
          end
          redirect_to new_user_registration_url
        end
      end
    
[/code]


CC BY-SA 3.0
2015-06-12T15:42:57.440
11297
2015-06-13T15:30:35.067
9161
question
ruby-on-rails
Rails4.2 Devise + omniauthでソーシャルログイン時はメール認証とメール送信をスキップしたい。


@user.save!で保存してしまう

[code]

    def callback_from(provider)
        provider = provider.to_s
    
        @user = User.find_for_oauth(request.env['omniauth.auth'])
        @user.skip_confirmation!
        @user.save!
        if @user.persisted?
          flash[:notice] = I18n.t('devise.omniauth_callbacks.success', kind: provider.capitalize)
          sign_in_and_redirect @user, event: :authentication
        else
          if provider == 'twitter'
            session["devise.twitter_data"] = request.env["omniauth.auth"].except("extra")
          else
            session["devise.facebook_data"] = request.env["omniauth.auth"]
          end
          redirect_to new_user_registration_url
        end
      end
    
[/code]


CC BY-SA 3.0
2015-06-13T15:30:35.067
11314
2015-06-13T15:30:35.067
9161
11297
answer