diff --git a/packages/hoppscotch-common/locales/en.json b/packages/hoppscotch-common/locales/en.json
index a93843c80a..f18d01fce4 100644
--- a/packages/hoppscotch-common/locales/en.json
+++ b/packages/hoppscotch-common/locales/en.json
@@ -103,8 +103,10 @@
"auth": {
"account_exists": "Account exists with different credential - Login to link both accounts",
"all_sign_in_options": "All sign in options",
+ "continue_with_auth_provider": "Continue with {provider}",
"continue_with_email": "Continue with Email",
"continue_with_github": "Continue with GitHub",
+ "continue_with_github_enterprise": "Continue with GitHub Enterprise",
"continue_with_google": "Continue with Google",
"continue_with_microsoft": "Continue with Microsoft",
"email": "Email",
diff --git a/packages/hoppscotch-common/src/components/firebase/Login.vue b/packages/hoppscotch-common/src/components/firebase/Login.vue
index a9cd44011d..cc1eacac98 100644
--- a/packages/hoppscotch-common/src/components/firebase/Login.vue
+++ b/packages/hoppscotch-common/src/components/firebase/Login.vue
@@ -23,10 +23,10 @@
@click="provider.action"
/>
-
+
{
await item.onClick()
@@ -199,10 +199,33 @@ onMounted(async () => {
allowedAuthProviders = enabledAuthProviders
// setup the additional login items
- additonalLoginItems =
- platform.auth.additionalLoginItems?.filter((item) =>
- res.right.includes(item.id)
- ) ?? []
+ platform.auth.additionalLoginItems?.forEach((item) => {
+ if (res.right.includes(item.id)) {
+ additionalLoginItems.push(item)
+ }
+
+ // since the BE send the OIDC auth providers as OIDC:providerName,
+ // we need to split the string and use the providerName as the text
+ if (item.id === "OIDC") {
+ res.right
+ .filter((provider) => provider.startsWith("OIDC"))
+ .forEach((provider) => {
+ const OIDCName = provider.split(":")[1]
+ const loginItemText = OIDCName
+ ? () =>
+ t("auth.continue_with_auth_provider", {
+ provider: OIDCName,
+ })
+ : item.text
+
+ const OIDCLoginItem = {
+ ...item,
+ text: loginItemText,
+ }
+ additionalLoginItems.push(OIDCLoginItem)
+ })
+ }
+ })
isLoadingAllowedAuthProviders.value = false
})
@@ -311,6 +334,14 @@ const authProvidersAvailable: AuthProviderItem[] = [
action: signInWithGithub,
isLoading: signingInWithGitHub,
},
+ // the authprovider either send github or github:enterprise and both are handled by the same route
+ {
+ id: "GITHUB:ENTERPRISE",
+ icon: IconGithub,
+ label: t("auth.continue_with_github_enterprise"),
+ action: signInWithGithub,
+ isLoading: signingInWithGitHub,
+ },
{
id: "GOOGLE",
icon: IconGoogle,