Provides Deno with the CSRF protection of rust-csrf.
The sample code for execution is as follows.
import { computeAesGcmTokenPair, computeVerifyAesGcmTokenPair, computeHmacTokenPair, computeVerifyHmacTokenPair } from "https://deno.land/x/deno_csrf@0.0.4/mod.ts"
// AES-GCM
//
const pair1 = computeAesGcmTokenPair("01234567012345670123456701234567",123)
// {
// isSucccess: true,
// tokenStr: "i3Gi0Gy1orrz~~~~8jZM7NCvkns...",
// cookieStr: "NGHpiZ1ee+B~~~~cq8613dHD9jS..."
// }
const result1 = computeVerifyAesGcmTokenPair(
"01234567012345670123456701234567",
pair1.tokenStr as string,
pair1.cookieStr as string
);
console.log(result1)
// => true
// HMAC
//
const pair2 = computeHmacTokenPair("01234567012345670123456701234567",123)
const result2 = computeVerifyHmacTokenPair(
"01234567012345670123456701234567",
pair2.tokenStr as string,
pair2.cookieStr as string
);
console.log(result2)
// => true
Using js_with_embedded_wasm to convert the js created for deno by wasm and wasm-bindgen in deno to js with wasm embedded.