Shared Hono utilities for Cloudflare Pages Functions and Node.
No OIDC userinfo URLs or tenant config embedded. Callers pass endpoints explicitly.
npm install @coderic/api-core @coderic/acl honoGitHub Packages:
@coderic:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}Repo: https://github.com/Coderic/coderic-api-core
| Import | Symbols |
|---|---|
@coderic/api-core |
PortalError, error helpers |
@coderic/api-core/hono |
registerOnError, cacheControlMiddleware, createRequireAuth, getAuthUser, createHealthRoute, createAccountRoute |
import { Hono } from "hono";
import {
registerOnError,
cacheControlMiddleware,
createHealthRoute,
createAccountRoute,
} from "@coderic/api-core/hono";
const app = new Hono();
registerOnError(app);
app.use("*", cacheControlMiddleware);
app.route("/health", createHealthRoute());
app.route("/account", createAccountRoute("https://auth.example.com/userinfo"));import { createRequireAuth, getAuthUser } from "@coderic/api-core/hono";
const requireAuth = createRequireAuth({
resolveUser: async (c) => { /* AuthPrincipal | null */ },
});
app.get("/me", requireAuth, (c) => c.json(getAuthUser(c)));Or use @coderic/acl/hono createRequireAuth when you only need ACL integration.
- Root
package.json:@coderic/api-core+@coderic/aclforfunctions/api/**. - Portal-specific
OIDC_USERINFO_URL(e.g.https://auth.coderic.org/userinfo) stays in each portal'sfunctions/api/auth/resolve-user.ts— not in this package. - Do not expect
OIDC_USERINFO_URLexport from@coderic/api-core.
MIT