利用可能なドキュメントは以下です:
Laravel 5 Very Basic AuthはLaravel標準のauth.basicとは違い、実際のデータベースの情報を使うことなくBasic認証を追加します。
例えば、開発中のサイトにユーザーをアクセスさせたい時や、まだデータベースやモデルを用意していない時に使うと便利です。あなたのサイトがデータベースを利用していない場合でも、アクセスを制御することができます。
認証に失敗した場合には、"401 Unauthorized"のレスポンスを返します。
Basic認証は望まないユーザーからのアクセスを排除することができますが、ブルートフォース攻撃に対しては厳密には安全ではありません。もしこのパッケージをセキュリティのために単独で利用するのであれば、ログインの試行回数を制限するために、少なくともApacheかNginxのrate-limitersを確認するべきです。
| Laravel | l5-very-basic-auth |
|---|---|
^5.4 |
5.* |
^6 |
6.* |
こちらのgistを見てください, 古いRoute::filterを使って、ほぼ同様の機能を利用できます。
Composer経由
$ composer require olssonm/l5-very-basic-authこのパッケージのv4.* (for Laravel 5.5)以降では、サービスプロバイダーからパッケージを読み込むのに、パッケージのオートディスカバリーを使用しています。パッケージをインストールすると、以下のメッセージが表示されるはずです。
Discovered Package: olssonm/l5-very-basic-auth
もしも手動でプロバイダーに追加したい場合は、composer.jsonファイルでオートディスカバリーを切って、
"extra": {
"laravel": {
"dont-discover": [
"olssonm/l5-very-basic-auth"
]
}
},(config/app.php)のprovidersにプロバイダーを追加してください。
'providers' => [
Olssonm\VeryBasicAuth\VeryBasicAuthServiceProvider::class
]$ php artisan vendor:publishのコマンドを実行し、Provider: Olssonm\VeryBasicAuth\VeryBasicAuthServiceProviderを選んで設定ファイルを公開してください。$ php artisan vendor:publish --provider="Olssonm\VeryBasicAuth\VeryBasicAuthServiceProvider"でも設定ファイルを公開することができます。
very_basic_auth.phpのファイルがあなたのapp/configディレクトリにコピーされます。ここにusernameやpasswordなどの幾つかの設定を置くことができます。
デフォルトのパスワードはありません。 セキュリティのために(誰もが同じパスワードになってしまわないように)、インストール時にランダムなパスワードが設定されます。個別のパスワードを設定するためにもパッケージ設定の公開をして下さい。
very_basic_auth.phpファイルでは、メッセージの代わりにカスタマイズしたビューを設定することができます。
// ユーザーがオプトアウトするか、キャンセルを押した場合に表示されるメッセージ
'error_message' => 'You have to supply your credentials to access this resource.',
// エラーメッセージの代わりにviewを使いたい場合は"error_view"のコメントアウトを外して下さい。
// この場合、あなたのデフォルトのレスポンスメッセージよりもエラービューが優先されます。
// 'error_view' => 'very_basic_auth::default'error_viewのコメントアウトを外した場合、ミドルウェアは指定されたviewを探そうとします。このビュー名は通常と同じように.blade.phpの拡張子無しで設定してください。
以前のバージョンから2.1にアップグレードする場合、このkeyとvalueは公開された設定には存在しないので、自分自身で設定を追加する必要があります。
このミドルウェアはルートを保護するのにauth.very_basicの短縮キーを使います。Route::group()に適用して複数のルートを保護することもできますし、個別に保護するルートを選ぶこともできます。
グループを使う場合
Route::group(['middleware' => 'auth.very_basic'], function() {
Route::get('/', ['as' => 'start', 'uses' => 'StartController@index']);
Route::get('/page', ['as' => 'page', 'uses' => 'StartController@page']);
});単独で使う場合
Route::get('/', [
'as' => 'start',
'uses' => 'StartController@index',
'middleware' => 'auth.very_basic'
]);$ composer testまたは
$ phpunitテストを実行する際は、Laravelは常にenvironmentの値を"testing"にします。testingがvery_basic_auth.phpのenvs配列内に存在することを確認して下さい。
MITライセンスです。 詳しくはこちらを見てください。License File
© 2019 Marcus Olsson.

