Merge pull request #44 from zach-chai/optional_omniauth

hide oauth login when not configured
This commit is contained in:
Zachary Chai 2016-11-23 14:23:26 -05:00 committed by GitHub
commit 9ee0fbc038
3 changed files with 31 additions and 7 deletions

View File

@ -14,4 +14,16 @@ module ApplicationHelper
end end
translations[:client] translations[:client]
end end
def omniauth_providers_configured(provider = nil)
if provider
Rails.configuration.send("omniauth_#{provider}")
else
providers = []
Rails.configuration.providers.each do |provider|
providers.push(provider) if Rails.configuration.send("omniauth_#{provider}")
end
providers
end
end
end end

View File

@ -32,14 +32,20 @@
<%= t('are_you', name: @user.username) %> | <%= t('are_you', name: @user.username) %> |
<%= link_to t('login'), "/auth/#{@user.provider}" %> <%= link_to t('login'), "/auth/#{@user.provider}" %>
<% else %> <% else %>
<span class="signup-description hidden-xs"> <% if omniauth_providers_configured.present? %>
<%= t('oauth_signup') %> <span class="signup-description hidden-xs">
</span> <%= t('oauth_signup') %>
<%= link_to('/auth/twitter', :class => "btn icon btn-lg btn-social-icon btn-twitter") do %> </span>
<span class="fa fa-twitter"></span>
<% end %> <% end %>
<%= link_to('/auth/google', :class => "btn icon btn-lg btn-social-icon btn-google") do %> <% if omniauth_providers_configured(:twitter) %>
<span class="fa fa-google"></span> <%= link_to('/auth/twitter', :class => "btn icon btn-lg btn-social-icon btn-twitter") do %>
<span class="fa fa-twitter"></span>
<% end %>
<% end %>
<% if omniauth_providers_configured(:google) %>
<%= link_to('/auth/google', :class => "btn icon btn-lg btn-social-icon btn-google") do %>
<span class="fa fa-google"></span>
<% end %>
<% end %> <% end %>
<% end %> <% end %>
</span> </span>

View File

@ -1,3 +1,9 @@
Rails.application.config.providers = [:google, :twitter]
Rails.application.config.omniauth_google = ENV['GOOGLE_OAUTH2_ID'].present?
Rails.application.config.omniauth_twitter = ENV['TWITTER_ID'].present?
Rails.application.config.middleware.use OmniAuth::Builder do Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, ENV['TWITTER_ID'], ENV['TWITTER_SECRET'] provider :twitter, ENV['TWITTER_ID'], ENV['TWITTER_SECRET']
provider :google_oauth2, ENV['GOOGLE_OAUTH2_ID'], ENV['GOOGLE_OAUTH2_SECRET'], provider :google_oauth2, ENV['GOOGLE_OAUTH2_ID'], ENV['GOOGLE_OAUTH2_SECRET'],