VibeNest Auth

OpenID Connect Authorization Code flow with mandatory PKCE for applications deployed on VibeNest.

Security contract

Use discovery and a maintained OIDC client library. Validate state, nonce, PKCE, signature, issuer, audience and expiry. Create an application-owned HTTP-only server session from the verified pairwise sub.

Never use email as primary identity, accept a browser-supplied userId, copy the dashboard cookie, or store access/ID tokens in localStorage.

Next.js App Router

Use server-only Route Handlers with openid-client 6.x, one-shot pending state and an opaque HTTP-only application session. Checkout and paid routes derive buyer_subject only from that session.

Immediately after await oidc.discovery(...), explicitly enable ID-token signature verification:

oidc.enableNonRepudiationChecks(config);

Call it before oidc.authorizationCodeGrant(...). The grant helper alone does not enable JWS ID-token signature checking in openid-client 6.x.

Node / Express

Use openid-client with a durable PostgreSQL/Redis session store. Regenerate the session after callback and destroy it on local logout.

Immediately after await oidc.discovery(...), explicitly enable ID-token signature verification:

oidc.enableNonRepudiationChecks(config);

Call it before oidc.authorizationCodeGrant(...). The grant helper alone does not enable JWS ID-token signature checking in openid-client 6.x.

ASP.NET Core

Use the built-in OpenID Connect handler with response type code, UsePkce=true, SaveTokens=false, and a persistent Data Protection key ring for the local cookie session.

Complete copy-paste references live in docs/vibenest-auth/ in the VibeNest repository.

Reconnecting to the server...

Reconnecting in sec.

Failed to reconnect.
The page will reload automatically.

Session paused by the server.

Failed to resume the session.
Reloading the page...