EN

@core / auth

1.0.0 ▾
verifiedMIT
GitHub

Sessions + OAuth (GitHub, Google) with Drizzle, for Hono and Next.js

Code9 filesContext~670 tokensscan passed

The exact tree that will be injected, after .genpmignore. Pinned to

src/lib/auth/index.tsread-only · 12c4918
// @core/auth — API pública. Importa desde aquí; las rutas web están en adapters/hono.ts y adapters/next.ts.
import { clearSessionCookie, parseCookies, SESSION_COOKIE } from './cookies.js';
import type { User } from './schema.js';
import { invalidateSession, validateSessionToken } from './session.js';

export { clearSessionCookie, parseCookies, SESSION_COOKIE, sessionCookie } from './cookies.js';
export {
  AuthError,
  type AuthErrorCode,
  callbackPath,
  enabledProviders,
  finishOAuth,
  type Profile,
  type Provider,
  safeReturnTo,
  startOAuth,
  upsertOAuthUser,
} from './oauth.js';
export { authSessions, oauthAccounts, type Session, type User, users } from './schema.js';
export {
  createSession,
  generateSessionToken,
  invalidateSession,
  invalidateUserSessions,
  rotateSession,
  SESSION_TTL_MS,
  type SessionValidation,
  validateSessionToken,
} from './session.js';

/** Usuario de una petición a partir de su cabecera Cookie (null si no hay sesión válida). */
export async function getUserFromCookieHeader(cookieHeader: string | null | undefined): Promise<User | null> {
  const token = parseCookies(cookieHeader)[SESSION_COOKIE];
  return token ? (await validateSessionToken(token)).user : null;
}

/** Cierra la sesión de la petición y devuelve la cabecera Set-Cookie que borra la cookie. */
export async function signOut(cookieHeader: string | null | undefined): Promise<string> {
  const token = parseCookies(cookieHeader)[SESSION_COOKIE];
  if (token) await invalidateSession(token);
  return clearSessionCookie();
}

Report @core/auth

Sign in with GitHub to report a package.