]> cat aescling's git repositories - mastodon.git/commitdiff
New env variable: CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED (#16655)
authorDaniel <git@baby-gnu.org>
Wed, 25 Aug 2021 16:41:24 +0000 (16:41 +0000)
committerGitHub <noreply@github.com>
Wed, 25 Aug 2021 16:41:24 +0000 (18:41 +0200)
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.

.env.nanobox
config/initializers/omniauth.rb

index 5951777a2d5369f342d9852c4de9c5965693cd89..d61673836b0ea88e389984c107713e40107bcdf9 100644 (file)
@@ -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
index 9e037f421fcc9629ed9695a48508aed6b1ecb02d..5039b4c1f03e6de45aad59119c2e2945f4dab348 100644 (file)
@@ -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