0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2026年5月】Laravel/PHP 今月のまとめ|公式パスキー認証/AI SDKサブエージェント/13.8〜13.12

0
Posted at

5月の Laravel は認証まわりが大きく動いた。公式(ファーストパーティ)のパスキー認証パッケージが登場し、AI SDK はサブエージェントに対応してオーケストレーション層になった。コアは 13.8 から 13.12 まで5リリース(13.11 は Laravel News 未掲載)。キュー検査やストレージキャッシュなど運用系の改善が中心だった。

出典はすべて Laravel News の各記事。バージョン番号やメソッド名は原文に合わせている。

TL;DR

  • 公式パスキー認証(WebAuthn)が登場。サーバー(laravel/passkeys)+クライアント(@laravel/passkeys)+Fortify の3点セット。
  • AI SDK にサブエージェント。エージェントを別エージェントのツールとして委譲でき、サブごとにプロバイダを変えられる。
  • コアは 13.8〜13.12。全キュー横断のジョブ検査、storage キャッシュドライバ、スケジューラ属性、ShouldBeDiscovered などが目立つ。
  • DBドライバが豊作(ClickHouse、Google Sheets、フラットファイルの Laravel Paper)。
  • セキュリティは PHP Foundation のセキュリティチーム発足、Composer 2.10 のマルウェアブロック、改ざん検知の Chronicle。

今月の目玉:公式パスキー認証(WebAuthn)

Laravel が公式パッケージとしてパスキー認証を導入した。Face ID / Touch ID / Windows Hello / セキュリティキーに対応する、フィッシング耐性の高いパスワードレス認証だ。構成はサーバー、クライアント、Fortify の3点セット。

サーバー側は laravel/passkeys。User モデルにトレイトとコントラクトを付ける。

use Laravel\Passkeys\Contracts\PasskeyUser;
use Laravel\Passkeys\PasskeyAuthenticatable;

class User extends Authenticatable implements PasskeyUser
{
    use PasskeyAuthenticatable;
}

クライアント側は @laravel/passkeys。ブラウザのセレモニー(登録と検証)を扱い、React / Vue / Svelte 向けのSSRセーフなフックを備える。

import { Passkeys } from '@laravel/passkeys'

// 登録(認証済みユーザー)
await Passkeys.register({ name: 'My MacBook' })

// 検証(ログイン)
await Passkeys.verify()

Fortify は Features::passkeys()config/fortify.php の passkeys セクションでこのスタックを統合する。サーバーパッケージ、npmクライアント、Fortify がルートとコントラクトで揃っているので、グルーコードを書かずにパスワードレス認証を組み込める。

Laravel コアの進化(13.8 → 13.12)

13.8:全キュー横断のジョブ検査

特定のキュー名が要る Queue::reservedJobs('queue1') を連鎖させる代わりに、全キューを1回で取得する allReservedJobs() / allDelayedJobs() / allPendingJobs() が入った。デプロイ前に「稼働中のジョブが残っていないか」を横断確認できる。

// Before: キューごとに1クエリ
Queue::reservedJobs('queue1')
    ->merge(Queue::reservedJobs('queue2'));

// After: 全キューを1回で
Queue::allReservedJobs();
Queue::allDelayedJobs();
Queue::allPendingJobs();

返るのは uuid / name / attempts / createdAt を持つ InspectedJob のコレクション。ほかにワーカーの WorkerPausing / WorkerResuming イベント、orderBy() での SortDirection enum 対応も。

出典: https://laravel-news.com/laravel-13-8-0

13.9:passwordrules 属性とキュー強化

Password::toPasswordRulesString() が、バリデーションルールから HTML の passwordrules 属性を生成する。Apple 発の仕様で、Safari / 1Password / Bitwarden がルールに沿ったパスワードを自動提案できる。パスキーと並んで、登録フォームのUX改善に効く。

// app/Providers/AppServiceProvider.php
Password::defaults(fn () => Password::min(12)->max(64)->mixedCase()->numbers()->symbols());
<input
    type="password"
    autocomplete="new-password"
    passwordrules="{{ Password::defaults()->toPasswordRulesString() }}"
/>

ほかに大きな SQS ペイロードのディスク退避(overflow 設定)、Concurrency::run() のタイムアウト指定、PendingDispatchwhen() / unless() などキュー周りの追加が多い。

出典: https://laravel-news.com/laravel-13-9-0

13.10:storage キャッシュドライバ

ファイルシステム抽象化を裏に持つ storage キャッシュドライバが追加された。Redis や Memcached なしで、S3 など任意のディスクをキー/バリューのキャッシュストアに使える。

// config/cache.php
'storage' => [
    'driver' => 'storage',
    'disk' => env('CACHE_STORAGE_DISK'),
    'path' => env('CACHE_STORAGE_PATH', 'framework/cache/data'),
],

queue:work --stop-when-empty-for=60(指定秒数ジョブ無しで停止)、WorkerIdle イベント、Schema::hasForeignKey()queue:failed --json など、オートスケール運用に効く小粒な追加もそろう。

出典: https://laravel-news.com/laravel-13-10-0

13.12:スケジューラ属性とリスナー検出の制御

スケジュール済みイベントに withAttributes() でメタデータを付け、ライフサイクルコールバックから参照できる。コマンド文字列をパースせずに監視やメトリクスのタグ付けができる。

$schedule->command('audio:import-podcasts --only-premium')
    ->withoutOverlapping()
    ->withAttributes(['tag' => 'import-premium-podcasts']);

自動検出リスナーが自身の登録可否を決める ShouldBeDiscovered も実用的だ。ShouldQueue なリスナーで、環境によってそもそもディスパッチさせない、といった制御ができる。

class NotifyExternalCrm implements ShouldBeDiscovered, ShouldQueue
{
    public static function shouldBeDiscovered(): bool
    {
        return app()->environment('production');
    }
    // ...
}

レプリカ運用での起動ループを避ける Worker::$stopOnLostConnection = false、SQLite の file: URI 接続なども入った。

出典: https://laravel-news.com/laravel-13-12-0

コア早見表

バージョン 目玉 種別
13.8 全キュー横断の allReservedJobs() ほか / SortDirection enum 機能追加
13.9 Password::toPasswordRulesString() / SQSオーバーフロー退避 機能追加
13.10 storage キャッシュドライバ / --stop-when-empty-for 機能追加
13.12 スケジューラ withAttributes() / ShouldBeDiscovered 機能追加

このほか、AIエージェント内で実行されると対話プロンプトの代わりに JSON を返す Laravel Installer v5.27.0Tailwind CSS v4.3.0(スクロールバースタイリングとコンテナサイズユーティリティ)もリリースされた。

AI まわり

  • AI SDK にサブエージェント:別エージェントの tools() からエージェントを返すだけで委譲できる。サブごとに指示やツール、プロバイダを変えられ、#[Provider(Lab::Anthropic)] で親を OpenAI、サブを Anthropic のように分けられる。各呼び出しは独立実行で親の会話履歴を引き継がない点に注意。
public function tools(): iterable
{
    return [
        new RefundsAgent,
    ];
}
  • Larapanda:型安全な Lightpanda ブラウザSDK。AIエージェントのブラウザ操作やスクレイピングに使える。

実装寄りのチュートリアルも2本出ている。Laravel × MongoDB の AIレコメンドエンジン構築(ベクトル検索+Hugging Face 埋め込み)と、MongoDB 全文検索の関連度チューニング

注目パッケージ(テーマ別に厳選)

認証・セキュリティ

  • Laravel Chronicle:SHA-256 のハッシュチェーンで改ざんを検知できる、追記専用の監査ログ。
  • Moat:GitHubアカウントのセキュリティをレビューするツール。
  • Composer 2.10:マルウェアブロックと依存ポリシー。サプライチェーン対策が一段進んだ。

データベース・Eloquent

  • Laravel ClickHouse:Eloquent や Query Builder で列指向DB ClickHouse を扱えるフル機能ドライバ。
  • Google Sheets ドライバ:Google スプレッドシートをデータベースとして使う。
  • Laravel Paper:フラットファイル対応の Eloquent ドライバ。
  • Laravel Addressable:任意のモデルにポリモーフィックな住所と地理空間クエリを付与。
  • Reorderable:Eloquent モデルにドラッグ&ドロップ並べ替えを追加。
  • Expressive:Eloquent を型付きオブジェクトとして扱う。
  • Cadence:cron/RRULE のスケジュールを Eloquent モデルに直接紐づける。
  • Laravel Schema Sentinel:マイグレーションと実DBを比較してスキーマのズレ(ドリフト)を検出し、修正マイグレーションを生成する。

開発支援・その他ツール

  • Chevere Workflow:ジョブと依存関係を宣言して並列実行を自動化する宣言的PHPワークフローエンジン。
  • Laravel Brain:リクエストライフサイクルをインタラクティブグラフで可視化。
  • Wirebones:描画結果から Livewire 遅延ロード用スケルトンを自動生成。
  • Piper:PHP のパイプ演算子向けに、配列や文字列を扱う Laravel スタイルのヘルパ。
  • Laravel Fluent Validation:オブジェクト指向のルールビルダ。
  • Laravel Toggle:シンプルなフィーチャーフラグ。
  • Aegis:値オブジェクトのスキャフォールディングとバリデーションヘルパ。
  • Laravel Entitlements:サブスクリプションのプランと利用権限を管理。
  • Laravel Shopper:TALLスタック製のヘッドレスeコマース管理パネル。
  • Playa:Cookieベースの一時プレイヤー。
  • PhpStorm から Laravel Cloud のデプロイ管理:IDE内でデプロイを操作。

今月のトレンド3つ

1. 認証のパスワードレス化。 公式パスキー認証と 13.9 の passwordrules 属性が同じ月に来た。フィッシング耐性とUXの両面で、パスワードレスへの移行が現実的な選択肢になっている。

2. AIをLaravel標準で組む流れ。 AI SDK のサブエージェントで、外部フレームワークなしにマルチエージェント構成が組める。MongoDB×AIのレコメンド実装やインストーラのAIエージェント対応も同じ方向だ。

3. サプライチェーン警戒の高まり。 PHP Foundation のセキュリティチーム発足、Composer 2.10 のマルウェアブロック、改ざん検知の Chronicle。依存とビルドの安全性に関心が集まっている。

その他の新着

まとめ

5月は認証(パスキー)とAI(サブエージェント)という、これからのアプリ設計に効く2つの基盤が公式に整った月だった。コアの 13.8〜13.12 はキューとスケジューラの運用改善が中心。パスキーは自社サービスの認証強化、AI SDK は社内ツールのLLM連携と、どちらも実務に落としやすい。

このまとめは毎月続ける。詳細は各出典リンクから。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?