-
Notifications
You must be signed in to change notification settings - Fork 0
A Laravel(応用 ライブラリ)
フロントエンドに依存しないバックエンド認証。
強み : あらゆる実装を簡単にカスタムできる。
ログイン、登録、パスワードリセット、メール認証。
ルートとコントローラーを提供するだけ。
ヘッドレス認証ライブラリである。
★ログイン実施回数の制限
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
スターターキット。
ログイン、登録、メール認証、二要素認証、セッション管理、チーム管理。
Tailwind
を使用した設計。
オプションでAPIサポート(Laravel Sanctum
)。
オプションで2つのフロントエンドスタックを選択する。(Livewire
Inertia.js
)