client-certificate-auth API Reference
client-certificate-auth API Reference / fetch / extractClientCertificateFromRequest
Function: extractClientCertificateFromRequest()
extractClientCertificateFromRequest(
request,options?):ExtractionResult
Defined in: fetch.js:48
Extract a client certificate from a Web standard Request (or any object with an iterable headers field that yields [name, value] tuples).
Normalizes header names to lowercase and delegates to the core extractClientCertificate. Header-only: Web Request has no TLS socket, so fallbackToSocket is stripped and has no effect.
Parameters
request
A Web Request or any object whose headers iterates [name, value] pairs.
headers
Iterable<[string, string]>
options?
ExtractorOptions = {}
Same options as extractClientCertificate. Header-extraction options only; socket options are ignored.
Returns
Examples
// Hono
import { extractClientCertificateFromRequest } from 'client-certificate-auth/fetch';
app.get('/secure', async (c) => {
const result = extractClientCertificateFromRequest(c.req.raw, {
certificateSource: 'cloudflare-rfc9440',
});
if (!result.success) return c.text('Unauthorized', 401);
return c.text(`Hello ${result.certificate.subject.CN}`);
});// Next.js Route Handler
export async function GET(request) {
const result = extractClientCertificateFromRequest(request, {
certificateSource: 'aws-alb',
});
if (!result.success) return new Response('Unauthorized', { status: 401 });
return Response.json({ user: result.certificate.subject.CN });
}