Implement Password Grant Flow for Authentication and Enhance User Experience
- Introduced Password Grant Flow for user authentication, allowing direct login with email and password. - Updated `useAuth` composable to manage login and logout processes, including Single Sign-Out from Cidaas. - Enhanced user interface with a new `UserMenu` component displaying user information and logout functionality. - Updated homepage to show personalized greetings for logged-in users and a login prompt for guests. - Added logout confirmation page with a countdown redirect to the homepage. - Documented the implementation details and future enhancements for OAuth2 flows in CLAUDE.md and other relevant documentation. - Added test credentials and guidelines for automated testing in the new TESTING.md file.
This commit is contained in:
@@ -69,16 +69,24 @@ export function useAuth() {
|
||||
|
||||
/**
|
||||
* Logout
|
||||
* Clears session and redirects to homepage
|
||||
* Performs Single Sign-Out at Cidaas and clears local session
|
||||
* Redirects to logout confirmation page
|
||||
*/
|
||||
async function logout() {
|
||||
try {
|
||||
// Call logout endpoint (performs Cidaas SSO + clears session)
|
||||
await $fetch('/api/auth/logout', { method: 'POST' })
|
||||
await clear() // Clear client-side state
|
||||
navigateTo('/') // Redirect to homepage
|
||||
|
||||
// Clear client-side state
|
||||
await clear()
|
||||
|
||||
// Redirect to logout confirmation page (with auto-redirect to homepage)
|
||||
navigateTo('/logout')
|
||||
} catch (error) {
|
||||
console.error('Logout failed:', error)
|
||||
throw error
|
||||
// Even on error, clear local state and redirect
|
||||
await clear()
|
||||
navigateTo('/logout')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user