A Laravel(応用 ライブラリ) - user000422/0 GitHub Wiki
Laravel Pint
Laravel公式の自動整形ツール。 Laravel9以降はインストール不要。
# 修正箇所の確認
./vendor/bin/pint app/Models/User.php --test -v
# 自動整形実行 ファイル指定
./vendor/bin/pint app/Models/User.php
# 自動整形実行 すべてのファイル
./vendor/bin/pint
ashallendesign/short-url(短縮URL作成)
Fortify(フォーティファイ)
フロントエンドに依存しないバックエンド認証。 強み : あらゆる実装を簡単にカスタムできる。 ログイン、登録、パスワードリセット、メール認証。 ルートとコントローラーを提供するだけ。 ヘッドレス認証ライブラリである。 ★ログイン実施回数の制限
Laravel9に導入してみた。 https://qiita.com/MS-0610/items/d86c0936b4b06aedc759 ベテランのおすすめ「Fortifyをカスタムして使うのが一番。」 ベテランのおすすめ「自分が今から使うならFortify。」
■導入
cd [Laravelプロジェクト]
# インストール fortify
composer require laravel/fortify
php artisan fortify:install
# 関連ファイルを作成
php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider"
php artisan migrate
■(必須)使用機能の有効化(無効化)
config/fortify.php
使う機能のみを有効化することができる仕組みがあります。
JetStreamを使用しない場合は「registration」「resetPasswords」「emailVerification」のみ有効にすること。
'features' => [
Features::registration(),
Features::resetPasswords(),
Features::emailVerification()
//Features::updateProfileInformation(),
//Features::updatePasswords(),
//Features::twoFactorAuthentication([
// 'confirm' => true,
// 'confirmPassword' => true,
// // 'window' => 0,
//]),
],
■ビュー用のルーティングを無効化する
config/fortify.php
'views' => false,
※無効化すると/loginがGETサポートしなくなる。
■マイグレーション
create_users_table.php
自動で作成される。
■(必須)サービスプロバイダ登録
config/app.php
'providers' => [
…
App\Providers\FortifyServiceProvider::class, // 追加
],
ルーティング : app/Providers/RouteServiceProvider.php
■View
公式ドキュメントや公式のソースから resources/views/auth/…
に作成したい意図を感じる。
memo: 作成しなければならない画面
ログイン前
・ユーザ登録画面 resources/views/auth/register.blade.php
・ログイン画面 resources/views/auth/login.blade.php
・パスワードリセット申請画面 resources/views/auth/forgot-password.blade.php
・パスワードリセット画面 resources/views/auth/reset-password.blade.php
ログイン後
・パスワード変更画面 resources/views/profile/password.blade.php
・プロフィール変更画面 resources/views/profile/edit.blade.php
・2要素認証QRコード表示画面 resources/views/auth/two-factor-authentication.blade.php
・2要素認証用パスワード再入力画面 resources/views/auth/confirm-password.blade.php
・2要素認証コード入力画面 resources/views/auth/two-factor-challenge.blade.php
Jetstream
スターターキット。
ログイン、登録、メール認証、二要素認証、セッション管理、チーム管理。
Tailwind
を使用した設計。
オプションでAPIサポート(Laravel Sanctum
)。
オプションで2つのフロントエンドスタックを選択する。(Livewire
Inertia.js
)