Skip to content

Latest commit

 

History

History
147 lines (100 loc) · 6.52 KB

README.jp.md

File metadata and controls

147 lines (100 loc) · 6.52 KB

Laravel Very Basic Auth

Latest Version on Packagist Total downloads Software License Build Status

very-basic-auth

利用可能なドキュメントは以下です:

🇬🇧 English
🇯🇵 日本語

Laravel 5 Very Basic AuthはLaravel標準のauth.basicとは違い、実際のデータベースの情報を使うことなくBasic認証を追加します。

Screenshot

例えば、開発中のサイトにユーザーをアクセスさせたい時や、まだデータベースやモデルを用意していない時に使うと便利です。あなたのサイトがデータベースを利用していない場合でも、アクセスを制御することができます。

認証に失敗した場合には、"401 Unauthorized"のレスポンスを返します。

注意点

Basic認証は望まないユーザーからのアクセスを排除することができますが、ブルートフォース攻撃に対しては厳密には安全ではありません。もしこのパッケージをセキュリティのために単独で利用するのであれば、ログインの試行回数を制限するために、少なくともApacheかNginxのrate-limitersを確認するべきです。

インストール

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'
]);

認証情報をルート上に記述することもできます。

Route::get('/', [
    'as' => 'start',
    'uses' => 'StartController@index',
    'middleware' => 'auth.very_basic:username,password'
]);

Note: 認証情報をルート上に記述した場合、設定ファイルのvery_basic_auth.phpより優先されます。

テスト

$ composer test

または

$ phpunit

テストを実行する際は、Laravelは常にenvironmentの値を"testing"にします。testingvery_basic_auth.phpenvs配列内に存在することを確認して下さい。

ライセンス

MITライセンスです。 詳しくはこちらを見てください。License File

© 2024 Marcus Olsson.