0Pricing
Sveltejs Academy · レッスン

HTTP-only Cookie内のJWT

JWTに署名してHTTP-only Cookieに保存し、XSSによるトークン窃取を防ぎます。

「HTTP-only Cookie内のJWT」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。

JWTの基本

JSON Web Tokenは、サーバーが署名したクレームを含む自己完結型のトークンです。

JWTを使う理由

JWTを使うと、サーバー側でセッションを保存する必要がありません。トークン自体が本人であることを証明します。

httpOnly Cookieに保存

XSSによる窃取を防ぐため、JWTをhttpOnly Cookieとして設定します。

cookies.set("token", jwt, { httpOnly: true, secure: true, path: "/" });

localStorageを避ける

JWTをlocalStorageに保存してはいけません。XSS攻撃によって読み取られ、ユーザーになりすまされる可能性があります。

フックでの検証

handle内でトークンの署名を検証し、クレームをデコードします。

const token = event.cookies.get("token");
try { event.locals.user = verify(token, SECRET); } catch { event.locals.user = null; }

秘密鍵で署名する

サーバーだけが知っている強力な秘密鍵でトークンに署名します。決して公開しないでください。

有効期限

有効期限は短く(15~60分)設定し、更新にはリフレッシュトークンを使います。

アルゴリズム

対称鍵による署名にはHS256、非対称鍵(公開鍵と秘密鍵)による署名にはRS256を使います。

リフレッシュトークン

再ログインせずに新しいアクセストークンを取得できるよう、リフレッシュトークンを発行します。

ログアウト戦略

ブラックリストなしではJWTを即時に失効させることはできません。短い有効期限を設定してリスクを軽減します。

ライブラリ

署名と検証には、joseまたはjsonwebtokenのnpmパッケージを使用します。

クイックチェック

JWTはどこに保存してはいけませんか?

まとめ

JWTはhttpOnly Cookieに保存し、フックで検証し、短い有効期限を設定して、更新にはリフレッシュトークンを使用します。

よくある質問

「HTTP-only Cookie内のJWT」レッスンは無料ですか?

はい。「HTTP-only Cookie内のJWT」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。

「HTTP-only Cookie内のJWT」で何を学びますか?

JWTに署名してHTTP-only Cookieに保存し、XSSによるトークン窃取を防ぎます。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Sveltejs Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「HTTP-only Cookie内のJWT」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSveltejs Academyレッスンでコードを書いて実行できますか?

はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Cookieベースのセッション
  2. HTTP-only Cookie内のJWT
  3. handle()フックで保護されたルート
  4. SvelteKitとLucia AuthによるOAuth
← Sveltejs Academyに戻る