fix(nuxt): fail fast on invalid Asgardeo SSR config#534
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughServer-side configuration resolution for the Asgardeo Nuxt SSR client is centralized into a new ChangesAsgardeo Nuxt SSR Config Resolution
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Request as Incoming Request
participant Plugin as asgardeo-ssr Plugin
participant Config as resolveAsgardeoServerConfig
participant Client as Asgardeo Client
Request->>Plugin: handle request
Plugin->>Config: resolveAsgardeoServerConfig(event)
Config->>Config: validate baseUrl, clientId, ASGARDEO_SESSION_SECRET
alt required fields missing or secret missing in production
Config-->>Plugin: throw H3Error 500
Plugin-->>Request: 500 startup failure
else config valid
Config-->>Plugin: resolvedConfig
Plugin->>Client: client.initialize(resolvedConfig)
Client-->>Plugin: initialized
end
Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Purpose
Hardens server-side configuration resolution and error handling in the
@asgardeo/nuxtmodule's SSR runtime.Previously, missing Asgardeo runtime configuration could cause initialization to silently fail, resulting in unclear runtime errors later during authentication. This PR centralizes server configuration resolution into a dedicated helper that validates required configuration and throws an actionable error when the setup is invalid.
This improves the developer experience by surfacing configuration issues immediately while keeping the existing authentication flow and
AsgardeoNodeClientbehavior unchanged.Related Issues
@nuxt/authintegration for Asgardeo #364Related PRs
Implementation Details
Added
resolveAsgardeoServerConfig(event)inpackages/nuxt/src/runtime/server/utils/config.ts.baseUrlandclientId.sessionSecretrequirements in production environments.createError(500)response when configuration is invalid.Updated
packages/nuxt/src/runtime/server/plugins/asgardeo-ssr.ts.Updated
packages/nuxt/src/runtime/server/AsgardeoNuxtClient.ts.Testing
Automated verification:
nx typecheck @asgardeo/nuxtnx build @asgardeo/nuxtManual verification:
Checklist
Security checks
Summary by CodeRabbit