From f402ad59bdf3dfea345ac782ae980e7d83aa0e03 Mon Sep 17 00:00:00 2001
From: Samuel Couillard <43917914+scouillard@users.noreply.github.com>
Date: Mon, 15 May 2023 17:11:09 -0400
Subject: [PATCH] fix(keycloak): user redirection on KC login (#5184)

* fix(keycloak): user redirection on KC login

* fix specs
---
 app/controllers/external_controller.rb       |  2 +-
 spec/controllers/external_controller_spec.rb | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/app/controllers/external_controller.rb b/app/controllers/external_controller.rb
index 39964cd4..cc8a5b67 100644
--- a/app/controllers/external_controller.rb
+++ b/app/controllers/external_controller.rb
@@ -69,7 +69,7 @@ class ExternalController < ApplicationController
     cookies.delete(:location)
     return redirect_to redirect_location if redirect_location&.match?('\A\/rooms\/\w{3}-\w{3}-\w{3}-\w{3}\/join\z')
 
-    redirect_to '/rooms'
+    redirect_to '/'
   rescue StandardError => e
     Rails.logger.error("Error during authentication: #{e}")
     redirect_to '/?error=SignupError'
diff --git a/spec/controllers/external_controller_spec.rb b/spec/controllers/external_controller_spec.rb
index 8858ecb3..d9b7a9ab 100644
--- a/spec/controllers/external_controller_spec.rb
+++ b/spec/controllers/external_controller_spec.rb
@@ -54,7 +54,7 @@ RSpec.describe ExternalController, type: :controller do
       get :create_user, params: { provider: 'openid_connect' }
 
       expect(session[:session_token]).to eq(User.find_by(email: OmniAuth.config.mock_auth[:openid_connect][:info][:email]).session_token)
-      expect(response).to redirect_to('/rooms')
+      expect(response).to redirect_to('/')
     end
 
     it 'assigns the User role to the user' do
@@ -95,7 +95,7 @@ RSpec.describe ExternalController, type: :controller do
         }
         get :create_user, params: { provider: 'openid_connect' }
 
-        expect(response).to redirect_to('/rooms')
+        expect(response).to redirect_to('/')
       end
 
       it 'doesnt redirect if it doesnt match a room joins format check 2' do
@@ -107,7 +107,7 @@ RSpec.describe ExternalController, type: :controller do
         }
         get :create_user, params: { provider: 'openid_connect' }
 
-        expect(response).to redirect_to('/rooms')
+        expect(response).to redirect_to('/')
       end
 
       it 'doesnt redirect if it doesnt match a room joins format check 3' do
@@ -119,7 +119,7 @@ RSpec.describe ExternalController, type: :controller do
         }
         get :create_user, params: { provider: 'openid_connect' }
 
-        expect(response).to redirect_to('/rooms')
+        expect(response).to redirect_to('/')
       end
 
       it 'deletes the cookie after reading' do
@@ -215,7 +215,7 @@ RSpec.describe ExternalController, type: :controller do
           create(:user, external_id: OmniAuth.config.mock_auth[:openid_connect][:uid])
 
           expect { get :create_user, params: { provider: 'openid_connect' } }.not_to raise_error
-          expect(response).to redirect_to('/rooms')
+          expect(response).to redirect_to('/')
         end
 
         it 'returns an InviteInvalid error if no invite is passed' do
-- 
GitLab