メインコンテンツにスキップ

認証

Authは認証と認可を参照し、これらはWebアプリケーションを作成する場合の共通のニーズです。認証とは、提示された資格情報に基づいて、ユーザーが本人であることを検証することを意味します。認可とは、ユーザーが実行できるアクションを決定することを意味します。

セッションとトークン

ユーザーが、ユーザー名とパスワードなどの資格情報を提供した後、ユーザーには将来の要求に対して資格情報を再度提供せずにアプリケーションを使用できるようにしたいと考えています。ユーザーは通常、セッション識別子または、JSON Web Token(JWT)などの署名済みトークンを使用して、後続の要求で認証されます。

セッションIDは通常、データベースに格納されます。これらはすぐに取り消すことができますが、各要求でデータベースクエリを実行する必要があります。

対照的に、JWTは一般的にデータストアに対してチェックされないため、すぐに取り消すことはできません。この方法の利点は、遅延の改善とデータストアの負荷の軽減です。

統合ポイント

Auth クッキーサーバーフック内でチェックできます。提供された資格情報に一致するユーザーが見つかった場合、ユーザー情報は locals に格納できます。

ガイド

Luciaは、セッションベースのWebアプリケーション認証に関するリファレンスです。SvelteKitや他のJSプロジェクト内でセッションベース認証を実装するためのコードサンプルとプロジェクトが含まれています。新しいプロジェクトを作成するときにnpx sv createを使用して、プロジェクトにLuciaガイドに従うコードを追加できます。また、既存のプロジェクトにはnpx sv add luciaを追加できます。

認証システムは、ユーザー入力の検証、エラーの処理、ユーザーを適切な次のページに誘導するためにコードのほとんどが必要なので、Webフレームワークに緊密に結合されています。その結果、一般的なJS認証ライブラリの多くには、それらの中に1つ以上のWebフレームワークが含まれています。このため、プロジェクト内に複数のWebフレームワークを持つよりも、Luciaで見つかった例などのSvelteKit固有のガイドに従うことを多くのユーザーが望んでいるでしょう。

GitHubでこのページを編集する