ヘッダーによる認証
ヘッダー内の既知の事前共有キーに基づいてリクエストを許可または拒否します。 これは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, }); },};export default { async fetch(request): Promise<Response> { /** * @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, }); },} satisfies ExportedHandler;from js import Response, fetch
async def on_fetch(request): PRESHARED_AUTH_HEADER_KEY = "X-Custom-PSK" PRESHARED_AUTH_HEADER_VALUE = "mypresharedkey"
psk = request.headers.get(PRESHARED_AUTH_HEADER_KEY)
if psk == PRESHARED_AUTH_HEADER_VALUE: # 正しい事前共有ヘッダーキーが提供されました。オリジンからリクエストを取得します。 return fetch(request)
# 不正なキーが提供されました。リクエストを拒否します。 return Response.new("申し訳ありませんが、無効なキーが提供されました。", status=403);