# 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 |