* 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
		
			
				
	
	
		
			29 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| - content_for :page_title do
 | |
|   = t('auth.login')
 | |
| 
 | |
| - content_for :header_tags do
 | |
|   = render partial: 'shared/og'
 | |
| 
 | |
| - unless omniauth_only?
 | |
|   = simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
 | |
|     .fields-group
 | |
|       - if use_seamless_external_login?
 | |
|         = f.input :email, autofocus: true, wrapper: :with_label, label: 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, autofocus: true, wrapper: :with_label, label: t('simple_form.labels.defaults.email'), input_html: { 'aria-label' => t('simple_form.labels.defaults.email') }, hint: false
 | |
|     .fields-group
 | |
|       = f.input :password, wrapper: :with_label, label: t('simple_form.labels.defaults.password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' }, hint: false
 | |
| 
 | |
|     .actions
 | |
|       = f.button :button, t('auth.login'), type: :submit
 | |
| 
 | |
| - if devise_mapping.omniauthable? and resource_class.omniauth_providers.any?
 | |
|   .simple_form.alternative-login
 | |
|     %h4= omniauth_only? ? t('auth.log_in_with') : t('auth.or_log_in_with')
 | |
| 
 | |
|     .actions
 | |
|       - resource_class.omniauth_providers.each do |provider|
 | |
|         = provider_sign_in_link(provider)
 | |
| 
 | |
| .form-footer= render 'auth/shared/links'
 |