| # config/initializers/devise.rb | |
| class TurboFailureApp < Devise::FailureApp | |
| def respond | |
| if request_format == :turbo_stream | |
| redirect | |
| else | |
| super | |
| end | |
| end | |
| def skip_format? | |
| %w(html turbo_stream */*).include? request_format.to_s | |
| end | |
| end | |
| Devise.setup do |config| | |
| # ==> Controller configuration | |
| config.parent_controller = 'TurboController' | |
| # ==> Navigation configuration | |
| config.navigational_formats = ['*/*', :html, :turbo_stream] | |
| # ==> OmniAuth | |
| config.omniauth :microsoft_office365, ENV['OFFICE365_KEY'], ENV['OFFICE365_SECRET'], callback_path: "/auth/microsoft_office365/callback" | |
| config.warden do |manager| | |
| manager.failure_app = TurboFailureApp | |
| end | |
| end |