diff --git a/src/data/utils/dataUtils.js b/src/data/utils/dataUtils.js
index 7170990b..9a763cda 100644
--- a/src/data/utils/dataUtils.js
+++ b/src/data/utils/dataUtils.js
@@ -13,6 +13,7 @@ export default function processLink(link) {
export const getTpaProvider = (tpaHintProvider, primaryProviders, secondaryProviders) => {
let tpaProvider = null;
+ let isSecondaryProvider = false;
primaryProviders.forEach((provider) => {
if (provider.id === tpaHintProvider) {
tpaProvider = provider;
@@ -23,10 +24,11 @@ export const getTpaProvider = (tpaHintProvider, primaryProviders, secondaryProvi
secondaryProviders.forEach((provider) => {
if (provider.id === tpaHintProvider) {
tpaProvider = provider;
+ isSecondaryProvider = true;
}
});
}
- return tpaProvider;
+ return { provider: tpaProvider, isSecondaryProvider };
};
export const getTpaHint = () => {
diff --git a/src/login/LoginPage.jsx b/src/login/LoginPage.jsx
index d3fd96b5..c04df220 100644
--- a/src/login/LoginPage.jsx
+++ b/src/login/LoginPage.jsx
@@ -274,7 +274,11 @@ class LoginPage extends React.Component {
if (thirdPartyAuthApiStatus === PENDING_STATE) {
return ;
}
- const provider = getTpaProvider(this.tpaHint, providers, secondaryProviders);
+ const { provider, isSecondaryProvider } = getTpaProvider(this.tpaHint, providers, secondaryProviders);
+ if (isSecondaryProvider) {
+ window.location.href = getConfig().LMS_BASE_URL + provider.loginUrl;
+ return null;
+ }
return provider ? () : this.renderForm(
currentProvider,
providers,
diff --git a/src/login/tests/LoginPage.test.jsx b/src/login/tests/LoginPage.test.jsx
index 844a9bdc..34d64d8a 100644
--- a/src/login/tests/LoginPage.test.jsx
+++ b/src/login/tests/LoginPage.test.jsx
@@ -459,7 +459,6 @@ describe('LoginPage', () => {
});
it('should render tpa button for tpa_hint id in secondary provider', () => {
- const expectedMessage = `Sign in using ${secondaryProviders.name}`;
store = mockStore({
...initialState,
commonComponents: {
@@ -476,7 +475,7 @@ describe('LoginPage', () => {
window.location = { href: getConfig().BASE_URL.concat('/login'), search: `?next=/dashboard&tpa_hint=${secondaryProviders.id}` };
secondaryProviders.iconImage = null;
- const loginPage = mount(reduxWrapper());
- expect(loginPage.find(`button#${secondaryProviders.id}`).find('span').text()).toEqual(expectedMessage);
+ mount(reduxWrapper());
+ expect(window.location.href).toEqual(getConfig().LMS_BASE_URL + secondaryProviders.loginUrl);
});
});
diff --git a/src/register/RegistrationPage.jsx b/src/register/RegistrationPage.jsx
index ff08e1cf..7fc4447a 100644
--- a/src/register/RegistrationPage.jsx
+++ b/src/register/RegistrationPage.jsx
@@ -621,7 +621,11 @@ class RegistrationPage extends React.Component {
if (thirdPartyAuthApiStatus === PENDING_STATE) {
return ;
}
- const provider = getTpaProvider(this.tpaHint, providers, secondaryProviders);
+ const { provider, isSecondaryProvider } = getTpaProvider(this.tpaHint, providers, secondaryProviders);
+ if (isSecondaryProvider) {
+ window.location.href = getConfig().LMS_BASE_URL + provider.registerUrl;
+ return null;
+ }
return provider ? ()
: this.renderForm(
currentProvider,
diff --git a/src/register/tests/RegistrationPage.test.jsx b/src/register/tests/RegistrationPage.test.jsx
index 89f98099..3c6be5b7 100644
--- a/src/register/tests/RegistrationPage.test.jsx
+++ b/src/register/tests/RegistrationPage.test.jsx
@@ -697,7 +697,6 @@ describe('RegistrationPageTests', () => {
});
it('should render tpa button for tpa_hint id in secondary provider', () => {
- const expectedMessage = `Sign in using ${secondaryProviders.name}`;
store = mockStore({
...initialState,
commonComponents: {
@@ -714,7 +713,7 @@ describe('RegistrationPageTests', () => {
window.location = { href: getConfig().BASE_URL.concat('/login'), search: `?next=/dashboard&tpa_hint=${secondaryProviders.id}` };
secondaryProviders.iconImage = null;
- const registerPage = mount(reduxWrapper());
- expect(registerPage.find(`button#${secondaryProviders.id}`).find('span').text()).toEqual(expectedMessage);
+ mount(reduxWrapper());
+ expect(window.location.href).toEqual(getConfig().LMS_BASE_URL + secondaryProviders.registerUrl);
});
});