From: Daniel Date: Wed, 25 Aug 2021 16:41:24 +0000 (+0000) Subject: New env variable: CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED (#16655) X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=2ed1c92c6331029ebd2762cc425a3a163dffd113;p=mastodon.git New env variable: CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED (#16655) When using a CAS server, the users only have a temporary email `change@me-foo-cas.com` which can't be changed but by an administrator. We need a new environment variable like for SAML to assume the email from CAS is verified. * config/initializers/omniauth.rb: define CAS option for assuming email are always verified. * .env.nanobox: add new variable as an example. --- diff --git a/.env.nanobox b/.env.nanobox index 5951777a2..d61673836 100644 --- a/.env.nanobox +++ b/.env.nanobox @@ -228,6 +228,7 @@ SMTP_FROM_ADDRESS=notifications@${APP_NAME}.nanoapp.io # CAS_LOCATION_KEY='location' # CAS_IMAGE_KEY='image' # CAS_PHONE_KEY='phone' +# CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true # Optional SAML authentication (cf. omniauth-saml) # SAML_ENABLED=true diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index 9e037f421..5039b4c1f 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -30,6 +30,8 @@ Devise.setup do |config| cas_options[:location_key] = ENV['CAS_LOCATION_KEY'] || 'location' cas_options[:image_key] = ENV['CAS_IMAGE_KEY'] || 'image' cas_options[:phone_key] = ENV['CAS_PHONE_KEY'] || 'phone' + cas_options[:security] = {} + cas_options[:security][:assume_email_is_verified] = ENV['CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED'] == 'true' config.omniauth :cas, cas_options end