* 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
		
			
				
	
	
		
			18 lines
		
	
	
	
		
			812 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
	
		
			812 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| %ul.no-list
 | |
|   - if user_signed_in?
 | |
|     %li= link_to t('settings.account_settings'), edit_user_registration_path
 | |
|   - else
 | |
|     - if controller_name != 'sessions'
 | |
|       %li= link_to_login t('auth.login')
 | |
| 
 | |
|     - if controller_name != 'registrations'
 | |
|       %li= link_to t('auth.register'), available_sign_up_path
 | |
| 
 | |
|     - if controller_name != 'passwords' && controller_name != 'registrations'
 | |
|       %li= link_to t('auth.forgot_password'), new_user_password_path
 | |
| 
 | |
|   - if controller_name != 'confirmations' && (!user_signed_in? || !current_user.confirmed? || current_user.unconfirmed_email.present?)
 | |
|     %li= link_to t('auth.didnt_get_confirmation'), new_user_confirmation_path
 | |
| 
 | |
|   - if user_signed_in? && controller_name != 'setup'
 | |
|     %li= link_to t('auth.logout'), destroy_user_session_path, data: { method: :delete }
 |