summaryrefslogtreecommitdiffstats
path: root/app/views/about
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-01-23 15:52:58 +0100
committerGitHub <noreply@github.com>2022-01-23 15:52:58 +0100
commitbddd9ba36d9f4e86e2a4bbea77f967c143afa2cc (patch)
tree8614b0600d7b8f0a0186b4a0711ff49f26fdff88 /app/views/about
parentcfa583fa7111cfc16b9ce548f9d9b58963f154bd (diff)
Add OMNIAUTH_ONLY environment variable to enforce externa log-in (#17288)
* Remove support for OAUTH_REDIRECT_AT_SIGN_IN Fixes #15959 Introduced in #6540, OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form to instead redirect to the external OmniAuth login provider. However, it did not prevent the log-in form on /about introduced by #10232 from appearing, and completely broke with the introduction of #15228. As I restoring that previous log-in flow without introducing a security vulnerability may require extensive care and knowledge of how OmniAuth works, this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time being. * Add OMNIAUTH_ONLY environment variable to enforce external log-in only * Disable user registration when OMNIAUTH_ONLY is set to true * Replace log-in links When OMNIAUTH_ONLY is set with exactly one OmniAuth provider
Diffstat (limited to 'app/views/about')
-rw-r--r--app/views/about/_login.html.haml29
1 files changed, 19 insertions, 10 deletions
diff --git a/app/views/about/_login.html.haml b/app/views/about/_login.html.haml
index fa58f04d736..0f19e816438 100644
--- a/app/views/about/_login.html.haml
+++ b/app/views/about/_login.html.haml
@@ -1,13 +1,22 @@
-= simple_form_for(new_user, url: user_session_path, namespace: 'login') do |f|
- .fields-group
- - if use_seamless_external_login?
- = f.input :email, placeholder: t('simple_form.labels.defaults.username_or_email'), input_html: { 'aria-label' => t('simple_form.labels.defaults.username_or_email') }, hint: false
- - else
- = f.input :email, placeholder: t('simple_form.labels.defaults.email'), input_html: { 'aria-label' => t('simple_form.labels.defaults.email') }, hint: false
+- unless omniauth_only?
+ = simple_form_for(new_user, url: user_session_path, namespace: 'login') do |f|
+ .fields-group
+ - if use_seamless_external_login?
+ = f.input :email, placeholder: t('simple_form.labels.defaults.username_or_email'), input_html: { 'aria-label' => t('simple_form.labels.defaults.username_or_email') }, hint: false
+ - else
+ = f.input :email, placeholder: t('simple_form.labels.defaults.email'), input_html: { 'aria-label' => t('simple_form.labels.defaults.email') }, hint: false
- = f.input :password, placeholder: t('simple_form.labels.defaults.password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.password') }, hint: false
+ = f.input :password, placeholder: t('simple_form.labels.defaults.password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.password') }, hint: false
- .actions
- = f.button :button, t('auth.login'), type: :submit, class: 'button button-primary'
+ .actions
+ = f.button :button, t('auth.login'), type: :submit, class: 'button button-primary'
- %p.hint.subtle-hint= link_to t('auth.trouble_logging_in'), new_user_password_path
+ %p.hint.subtle-hint= link_to t('auth.trouble_logging_in'), new_user_password_path
+
+- if Devise.mappings[:user].omniauthable? and User.omniauth_providers.any?
+ .simple_form.alternative-login
+ %h4= omniauth_only? ? t('auth.log_in_with') : t('auth.or_log_in_with')
+
+ .actions
+ - User.omniauth_providers.each do |provider|
+ = provider_sign_in_link(provider)