コンテンツにスキップ

ヘッダーによる認証

ヘッダー内の既知の事前共有キーに基づいてリクエストを許可または拒否します。 これはWebCrypto APIの代わりになることを意図していません。

export default {
async fetch(request) {
/**
* @param {string} PRESHARED_AUTH_HEADER_KEY キーを確認するためのカスタムヘッダー
* @param {string} PRESHARED_AUTH_HEADER_VALUE ハードコーディングされたキー値
*/
const PRESHARED_AUTH_HEADER_KEY = "X-Custom-PSK";
const PRESHARED_AUTH_HEADER_VALUE = "mypresharedkey";
const psk = request.headers.get(PRESHARED_AUTH_HEADER_KEY);
if (psk === PRESHARED_AUTH_HEADER_VALUE) {
// 正しい事前共有ヘッダーキーが提供されました。オリジンからリクエストを取得します。
return fetch(request);
}
// 不正なキーが提供されました。リクエストを拒否します。
return new Response("申し訳ありませんが、無効なキーが提供されました。", {
status: 403,
});
},
};