前回は LaravelのAPI開発 を解説しました。
これで
- データ取得(API)
- フロントエンド連携
ができるようになりました。
次に必要になるのが
ユーザー認証(ログイン機能)
です。
多くのWebアプリでは
- ログイン
- ユーザー登録
- ログアウト
などの機能が必須です。
Laravelにはこれらを簡単に実装できる仕組みが用意されています。
この記事では次の内容を解説します。
- 認証とは
- Laravelの認証機能
- Breezeの導入
- ログイン処理
- 認証チェック
認証とは
認証とは
ユーザーが誰であるかを確認する仕組み
です。
例
- メールアドレス + パスワード
- セッション管理
- ログイン状態の保持
Laravelの認証機能
Laravelには認証機能が標準で用意されています。
ただし最近は
Breeze
Jetstream
Fortify
などのパッケージを使うのが一般的です。
Breezeの導入(おすすめ)
初心者には
Laravel Breeze
が最もシンプルでおすすめです。
インストール
composer require laravel/breeze --dev
セットアップ
php artisan breeze:install
フロントビルド
npm install
npm run dev
DB準備
php artisan migrate
起動
php artisan serve
画面確認
http://127.0.0.1:8000
認証画面
Breezeを導入すると自動で
- ログイン画面
- 登録画面
が作成されます。
ログイン
ログイン処理は内部で次のように行われます。
Auth::attempt([
'email' => $email,
'password' => $password
]);
現在のユーザー取得
$user = Auth::user();
ログアウト
Auth::logout();
認証チェック
ログインしているか確認
if (Auth::check()) {
// ログイン済み
}
ミドルウェア
特定のページをログイン必須にする
Route::middleware('auth')->group(function () {
Route::get('/dashboard', function () {
return 'Dashboard';
});
});
Controllerで制御
public function index()
{
if (!Auth::check()) {
return redirect('/login');
}
return view('dashboard');
}
API認証(補足)
APIでは次の方法を使います。
- Sanctum(おすすめ)
- Passport
Sanctum
composer require laravel/sanctum
実務での使い方
認証は次の場面で使われます。
- 管理画面
- 会員機能
- 投稿機能
- APIアクセス制御
認証の流れ
ユーザー登録
↓
ログイン
↓
セッション保存
↓
認証チェック
↓
ログアウト
よくあるミス
migrate忘れ
usersテーブルがない
パスワード未ハッシュ
bcrypt($password)
認証ミドルウェア未設定
ログイン不要になっている
まとめ
この記事では Laravelの認証機能 を解説しました。
重要なポイント
- 認証 = ユーザー確認
- Breezeで簡単導入
- Authで操作
- middlewareで制御
Laravelの認証を理解すると
本格的なWebアプリ
が作れるようになります。
次の記事
次回は
Laravel実務構成(最終回)
を解説します。
ここでは
- フォルダ設計
- API設計
- フロント連携
など、実務で重要な内容をまとめます。



コメント