INNER CODE UNIT · TypeScript

verifiedSignatureAgent

cloudflare/web-bot-auth · packages/web-bot-auth/src/index.ts:215

function verifiedSignatureAgent(
  request: Request | RequestDescriptor,
  components: readonly ComponentDescriptor[]
): SignatureAgentEntry | undefined {
  const header = requestHeader(request, SIGNATURE_AGENT_HEADER);
  if (header === undefined) return undefined;
  const parsed = parseSignatureAgentHeader(header);
  if (parsed.kind === "legacy") {
    const covered = components.some(
      ({ name, parameters }) =>
        name === SIGNATURE_AGENT_HEADER && Object.keys(parameters).length === 0
    );
    if (!covered) {
      return policyError(`signature must cover ${SIGNATURE_AGENT_HEADER}`);
    }
    const entry = parsed.entries[0];
    if (entry === undefined) return policyError("Signature-Agent is empty");
    return Object.freeze({ ...entry });

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…