認証
認証と認可は、ウェブサイトやアプリへのアクセスを管理する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
コマンドを使ってauth-astro
を追加します。
手動インストール
セクションタイトル: 手動インストールauth-astro
を手動でインストールするには、パッケージマネージャで必要なパッケージをインストールします。
その後、astro.config.*
ファイルのintegrations
プロパティを用いてインテグレーションを反映させます。
プロジェクトのルートディレクトリにauth.config.mjs
ファイルを作成します。サポートしたい任意の認証プロバイダまたは認証メソッドを、必要な環境変数とともに追加します。
まだ存在しなければ、プロジェクトのルートに.env
ファイルを作成します。以下の2つの環境変数を追加します。AUTH_SECRET
は最低32文字以上の秘密の文字列です。
サインインとサインアウトボタンは、scriptタグまたはクライアントサイドフレームワークのコンポーネント内でauth-astro/client
モジュールを使用することで追加できます。
ユーザーのセッションは、getSession
メソッドを使って取得できます。