diff --git a/composables/useUnifiedAuth.ts b/composables/useUnifiedAuth.ts index 5239fb4..eba28cd 100644 --- a/composables/useUnifiedAuth.ts +++ b/composables/useUnifiedAuth.ts @@ -8,38 +8,13 @@ export interface UnifiedUser { } export const useUnifiedAuth = () => { - // Get both auth systems + // Get auth system (Directus only for now) const directusAuth = useDirectusAuth(); const directusUser = useDirectusUser(); - const keycloak = useKeycloak(); - // Create unified user object + // Create unified user object (Directus only) const user = computed(() => { - // Check Keycloak user first (safely) - if (keycloak.user?.value) { - const keycloakUser = keycloak.user.value; - // Construct name from firstName and lastName if available - let name = keycloakUser.name; - if (!name && (keycloakUser.given_name || keycloakUser.family_name)) { - name = `${keycloakUser.given_name || ''} ${keycloakUser.family_name || ''}`.trim(); - } else if (!name && (keycloakUser.firstName || keycloakUser.lastName)) { - name = `${keycloakUser.firstName || ''} ${keycloakUser.lastName || ''}`.trim(); - } - if (!name) { - name = keycloakUser.preferred_username || keycloakUser.email; - } - - return { - id: keycloakUser.sub || keycloakUser.id, - email: keycloakUser.email, - name: name, - tier: keycloakUser.tier || 'basic', // From custom Keycloak attribute - authSource: 'keycloak', - raw: keycloakUser - }; - } - - // Fall back to Directus user + // Only use Directus user for now if (directusUser.value && directusUser.value.email) { return { id: directusUser.value.id, @@ -54,16 +29,11 @@ export const useUnifiedAuth = () => { return null; }); - // Unified logout function + // Unified logout function (Directus only) const logout = async () => { - if (user.value?.authSource === 'keycloak') { - // Keycloak logout - await keycloak.logout(); - } else if (user.value?.authSource === 'directus') { - // Directus logout - await directusAuth.logout(); - await navigateTo('/login'); - } + // Directus logout + await directusAuth.logout(); + await navigateTo('/login'); }; // Check if user is authenticated diff --git a/middleware/authentication.ts b/middleware/authentication.ts index e0c2ce9..c1e4168 100644 --- a/middleware/authentication.ts +++ b/middleware/authentication.ts @@ -6,7 +6,7 @@ export default defineNuxtRouteMiddleware(async (to) => { const isAuthRequired = to.meta.auth !== false; try { - // Check Directus auth first (more reliable) + // Only use Directus auth for now (disable Keycloak temporarily) const { fetchUser, setUser } = useDirectusAuth(); const directusUser = useDirectusUser(); @@ -15,7 +15,10 @@ export default defineNuxtRouteMiddleware(async (to) => { const user = await fetchUser(); setUser(user.value); } catch (error) { - // Ignore directus auth errors + // Ignore directus auth errors for public pages + if (!isAuthRequired) { + return; + } } } @@ -24,25 +27,6 @@ export default defineNuxtRouteMiddleware(async (to) => { return; } - // Try Keycloak auth (only if we need it) - if (isAuthRequired) { - const keycloak = useKeycloak(); - - // Only try to initialize if not already done - if (!keycloak.isInitialized.value) { - try { - await keycloak.initKeycloak(); - } catch (error) { - console.error('Keycloak init failed:', error); - } - } - - if (keycloak.isAuthenticated.value) { - // User authenticated with Keycloak - return; - } - } - // No authentication found if (isAuthRequired) { // Redirect to login page diff --git a/pages/login.vue b/pages/login.vue index d02f5c8..938591d 100644 --- a/pages/login.vue +++ b/pages/login.vue @@ -10,27 +10,7 @@ - - - - Login with Single Sign-On - - - - - - - OR - - - - + @@ -111,12 +91,9 @@ definePageMeta({ auth: false }); -// Directus auth +// Directus auth only const { login } = useDirectusAuth(); -// Keycloak auth for SSO -const keycloak = useKeycloak(); - const loading = ref(false); const errorThrown = ref(false); @@ -126,12 +103,6 @@ const passwordVisible = ref(false); const valid = ref(false); -// Keycloak login function -const loginWithKeycloak = async () => { - // Initialize and login with Keycloak - await keycloak.login(); -}; - // Directus login function const submit = async () => { try {