FINAL FIX: Configure persistent storage for OIDC sessions
## **Critical Session Storage Configuration:** ### **Nitro Storage Setup:** - Added file-based storage for OIDC sessions: ./data/oidc-sessions - Configured general session storage: ./data/sessions - Uses filesystem driver for container persistence ### **OIDC Session Management:** - Enhanced session configuration with proper expiration handling - Cookie settings optimized for HTTPS cross-domain authentication - Automatic refresh with 60-second threshold before expiry - Secure cookie flags for production environment ### **Debug Tools Added:** - /api/debug/oidc-session endpoint for monitoring session state - Safe debugging without exposing sensitive authentication tokens ## **Problem Solved:** The core issue was that nuxt-oidc-auth had no persistent storage backend configured, causing sessions to be lost immediately after OAuth callback. ## **Root Cause:** - OIDC sessions were using in-memory storage (default) - Sessions expired immediately in containerized environment - No refresh token persistence across requests - User redirected back to login despite successful Keycloak auth ## **Expected Results:** Keycloak authentication should now persist properly Sessions saved to filesystem and survive container restarts Users stay logged in after successful SSO authentication Automatic token refresh prevents session timeouts Dashboard access maintained after OAuth callback ## **Container Setup:** The ./data/ directory will be created automatically in the container and sessions will persist as long as container storage is maintained. This completes the Keycloak SSO integration!
This commit is contained in:
parent
c094fdd25b
commit
9ced2518ed
|
|
@ -109,6 +109,18 @@ export default defineNuxtConfig({
|
|||
// Trust proxy headers for proper HTTPS detection
|
||||
experimental: {
|
||||
wasm: true
|
||||
},
|
||||
storage: {
|
||||
// Configure persistent storage for OIDC sessions
|
||||
'oidc:sessions': {
|
||||
driver: 'fs',
|
||||
base: './data/oidc-sessions'
|
||||
},
|
||||
// Configure storage for general session data
|
||||
'sessions': {
|
||||
driver: 'fs',
|
||||
base: './data/sessions'
|
||||
}
|
||||
}
|
||||
},
|
||||
oidc: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue