25 lines
520 B
TypeScript
25 lines
520 B
TypeScript
import { Receiver } from "@upstash/qstash";
|
|
|
|
import type { Env } from "~/types/env";
|
|
|
|
export function verifyQstashHeader(
|
|
env: Env,
|
|
signature: string | undefined,
|
|
body: string,
|
|
): Promise<boolean> {
|
|
if (!signature) {
|
|
return Promise.resolve(false);
|
|
}
|
|
|
|
const receiver = new Receiver({
|
|
currentSigningKey: env.QSTASH_CURRENT_SIGNING_KEY,
|
|
nextSigningKey: env.QSTASH_NEXT_SIGNING_KEY,
|
|
});
|
|
|
|
return receiver.verify({
|
|
body,
|
|
signature,
|
|
url: "https://aniplay-v2.rururu.workers.dev",
|
|
});
|
|
}
|