Merge pull request #6113 from consuldemocracy/saml_on_demand
Only access SAML single sign-on URL when necessary
This commit is contained in:
@@ -2,6 +2,12 @@ require "rails_helper"
|
||||
|
||||
describe OmniauthTenantSetup do
|
||||
describe "#saml" do
|
||||
before do
|
||||
allow(OmniauthTenantSetup).to receive(:parsed_saml_metadata) do |idp_metadata_url|
|
||||
{ idp_entity_id: idp_metadata_url.gsub("metadata", "entityid") }
|
||||
end
|
||||
end
|
||||
|
||||
it "uses different secrets for different tenants" do
|
||||
create(:tenant, schema: "mars")
|
||||
create(:tenant, schema: "venus")
|
||||
@@ -34,8 +40,8 @@ describe OmniauthTenantSetup do
|
||||
mars_strategy_options = mars_env["omniauth.strategy"].options
|
||||
|
||||
expect(mars_strategy_options[:sp_entity_id]).to eq "https://mars.consul.dev/saml/metadata"
|
||||
expect(mars_strategy_options[:idp_metadata_url]).to eq "https://mars-idp.example.com/metadata"
|
||||
expect(mars_strategy_options[:idp_sso_service_url]).to eq "https://mars-idp.example.com/sso"
|
||||
expect(mars_strategy_options[:idp_entity_id]).to eq "https://mars-idp.example.com/entityid"
|
||||
end
|
||||
|
||||
Tenant.switch("venus") do
|
||||
@@ -48,8 +54,8 @@ describe OmniauthTenantSetup do
|
||||
venus_strategy_options = venus_env["omniauth.strategy"].options
|
||||
|
||||
expect(venus_strategy_options[:sp_entity_id]).to eq "https://venus.consul.dev/saml/metadata"
|
||||
expect(venus_strategy_options[:idp_metadata_url]).to eq "https://venus-idp.example.com/metadata"
|
||||
expect(venus_strategy_options[:idp_sso_service_url]).to eq "https://venus-idp.example.com/sso"
|
||||
expect(venus_strategy_options[:idp_entity_id]).to eq "https://venus-idp.example.com/entityid"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -79,8 +85,8 @@ describe OmniauthTenantSetup do
|
||||
earth_strategy_options = earth_env["omniauth.strategy"].options
|
||||
|
||||
expect(earth_strategy_options[:sp_entity_id]).to eq "https://default.consul.dev/saml/metadata"
|
||||
expect(earth_strategy_options[:idp_metadata_url]).to eq "https://default-idp.example.com/metadata"
|
||||
expect(earth_strategy_options[:idp_sso_service_url]).to eq "https://default-idp.example.com/sso"
|
||||
expect(earth_strategy_options[:idp_entity_id]).to eq "https://default-idp.example.com/entityid"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user