From 87eb13578e96c47ce00cf62348ea6e7902089e1f Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Wed, 21 Jul 2021 11:30:42 +0100 Subject: [PATCH] Configure the OAuth 2 application ID for the web site --- .../dev/templates/default/rails.setup.rb.erb | 17 +++++++++++++++++ cookbooks/web/recipes/rails.rb | 1 + cookbooks/web/resources/rails_port.rb | 6 ++++++ 3 files changed, 24 insertions(+) diff --git a/cookbooks/dev/templates/default/rails.setup.rb.erb b/cookbooks/dev/templates/default/rails.setup.rb.erb index ad42b68f7..e2df25012 100644 --- a/cookbooks/dev/templates/default/rails.setup.rb.erb +++ b/cookbooks/dev/templates/default/rails.setup.rb.erb @@ -51,4 +51,21 @@ OpenStreetMap::Application.config.after_initialize do OAUTH_KEY = website.key end end + + if ActiveRecord::Base.connection.table_exists?(:oauth_applications) + unless website = webmaster.oauth2_applications.find_by_name("Web Site") + website = webmaster.oauth2_applications.new + website.name = "Web Site" + website.redirect_uri = "https://<%= @site %>/" + website.scopes = Oauth.scopes.map(&:name) + website.confidential = true + website.save! + end + + if Kernel.const_defined?("Settings") + Settings.oauth_application = website.uid + else + OAUTH_APPLICATION = website.uid + end + end end diff --git a/cookbooks/web/recipes/rails.rb b/cookbooks/web/recipes/rails.rb index 9956f099c..e14c898c7 100644 --- a/cookbooks/web/recipes/rails.rb +++ b/cookbooks/web/recipes/rails.rb @@ -91,6 +91,7 @@ rails_port "www.openstreetmap.org" do potlatch2_key web_passwords["potlatch2_key"] id_key web_passwords["id_key"] oauth_key web_passwords["oauth_key"] + oauth_application web_passwords["oauth_application"] piwik_configuration "location" => piwik[:location], "site" => piwik[:site], "goals" => piwik[:goals].to_hash diff --git a/cookbooks/web/resources/rails_port.rb b/cookbooks/web/resources/rails_port.rb index d275afede..16fde7131 100644 --- a/cookbooks/web/resources/rails_port.rb +++ b/cookbooks/web/resources/rails_port.rb @@ -52,6 +52,7 @@ property :memcache_servers, Array property :potlatch2_key, String property :id_key, String property :oauth_key, String +property :oauth_application, String property :nominatim_url, String property :osrm_url, String property :google_auth_id, String @@ -217,6 +218,10 @@ action :create do line.gsub!(/^( *)#oauth_key:.*$/, "\\1oauth_key: \"#{new_resource.oauth_key}\"") end + if new_resource.oauth_application + line.gsub!(/^( *)#oauth_application:.*$/, "\\1oauth_application: \"#{new_resource.oauth_application}\"") + end + if new_resource.nominatim_url line.gsub!(/^( *)nominatim_url:.*$/, "\\1nominatim_url: \"#{new_resource.nominatim_url}\"") end @@ -299,6 +304,7 @@ action :create do "potlatch2_key", "id_key", "oauth_key", + "oauth_application", "nominatim_url", "osrm_url", "google_auth_id", -- 2.43.2