]> git.openstreetmap.org Git - rails.git/blobdiff - lib/auth.rb
Remove authorize_web call from traces api controller
[rails.git] / lib / auth.rb
index b5ac0d2ebb58c8b64cda6f580faf8c61b0c4f30d..01167fb1d6695bd9089617f1d1ee259bdb61057c 100644 (file)
@@ -1,5 +1,16 @@
 module Auth
-  PROVIDERS = { "None" => "", "OpenID" => "openid" }
-  PROVIDERS["Google"] = "google" if defined?(GOOGLE_AUTH_ID)
-  PROVIDERS["Facebook"] = "facebook" if defined?(FACEBOOK_AUTH_ID)
+  @providers = {}
+
+  def self.providers
+    @providers[I18n.locale] ||= {
+      I18n.t("auth.providers.none") => "",
+      I18n.t("auth.providers.openid") => "openid"
+    }.tap do |providers|
+      providers[I18n.t("auth.providers.google")] = "google" if Settings.key?(:google_auth_id)
+      providers[I18n.t("auth.providers.facebook")] = "facebook" if Settings.key?(:facebook_auth_id)
+      providers[I18n.t("auth.providers.microsoft")] = "microsoft" if Settings.key?(:microsoft_auth_id)
+      providers[I18n.t("auth.providers.github")] = "github" if Settings.key?(:github_auth_id)
+      providers[I18n.t("auth.providers.wikipedia")] = "wikipedia" if Settings.key?(:wikipedia_auth_id)
+    end.freeze
+  end
 end