Method: Jinda::Generators::ConfigGenerator#setup_omniauth

Defined in:
lib/generators/jinda_engine/config_generator.rb

#setup_omniauthObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/generators/jinda_engine/config_generator.rb', line 22

def setup_omniauth
    # gem 'bcrypt-ruby', '~> 3.0.0'
    # gem 'omniauth-identity'
    initializer "omniauth.rb" do
      %q{
        Rails.application.config.middleware.use OmniAuth::Builder do
          provider :identity,
                   :fields => [:code, :email],
                   :on_failed_registration=> lambda { |env|
                     IdentitiesController.action(:new).call(env)
                   }
          provider :facebook, ENV['FACEBOOK_API'], ENV['FACEBOOK_KEY']
          provider :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_CLIENT_SECRET'], skip_jwt: true
        end

        # https://stackoverflow.com/questions/11461084/handle-omniautherror-invalid-credentials-for-identity-login
        OmniAuth.config.on_failure = Proc.new { |env|
          OmniAuth::FailureEndpoint.new(env).redirect_to_failure
        }
        
      }
    end
end