認証
認証と認可は2つのセキュリティプロセスで、ウェブサイトやアプリのさまざまな部分に誰がアクセスできるかを制御するのに役立ちます。認証は訪問者のアイデンティティを検証するプロセスであり、認可は訪問者が保護されたルートやリソースにアクセスすることを許可するプロセスです。
認証を利用することで、ログインした個人に合わせてサイトの領域をカスタマイズしたり、個人情報やプライベートな情報を最大限に保護できるようになります。認証ライブラリ(例: Lucia Auth、Auth.js)は、電子メールサインインやOAuthプロバイダーなどの複数の認証方法のためのユーティリティを提供します。
Astro向けの公式の認証ソリューションはありませんが、インテグレーションディレクトリではコミュニティの “auth” インテグレーションが検索できます。
Lucia
セクションタイトル: LuciaLuciaは、フレームワークに依存しないセッションベースの認証ライブラリで、Astroをよくサポートしています。
インストール
セクションタイトル: インストール好きなパッケージマネージャでLuciaをインストールします。
Luciaの”Getting started in Astro”ガイドを使用し、Luciaをアダプタとともに初期化して、ユーザーとセッションを保存するデータベースをセットアップします。
Luciaの充実したAstroチュートリアルの1つに従って、ユーザー名とパスワードの認証またはGitHub OAuthをAstroプロジェクトに追加します。
次のステップ
セクションタイトル: 次のステップAuth.js
セクションタイトル: Auth.jsAuth.jsは、フレームワークに依存しない認証ソリューションです。Astro用のコミュニティによるフレームワークアダプタauth-astro
が利用できます。
インストール
セクションタイトル: インストール好きなパッケージマネージャで、astro add
コマンドを使ってastro-auth
を追加します。
手動インストール
セクションタイトル: 手動インストールastro-auth
を手動でインストールするには、パッケージマネージャで必要なパッケージをインストールします。
その後、astro.config.*
ファイルのintegrations
プロパティを用いてインテグレーションを反映させます。
プロジェクトのルートディレクトリにauth.config.mjs
ファイルを作成します。サポートしたい任意の認証プロバイダまたは認証メソッドを、必要な環境変数とともに追加します。
まだ存在しなければ、プロジェクトのルートに.env
ファイルを作成します。以下の2つの環境変数を追加します。AUTH_SECRET
は最低32文字以上の秘密の文字列です。
サインインとサインアウトボタンは、scriptタグまたはクライアントサイドフレームワークのコンポーネント内でauth-astro/client
モジュールを使用することで追加できます。
ユーザーのセッションは、getSession
メソッドを使って取得できます。