はじめに
Meteor Advent Calendar 2015 11日目です。
この記事ではMeteorでBasic認証を有効にする方法を紹介します。
MeteorでBasic認証
Basic認証用パッケージの追加
今回Basic認証で使用するパッケージは jabbslad:basic-auth です。このパッケージをMeteorアプリに追加します。
meteor add jabbslad:basic-auth
Basic認証設定
Basic認証の設定を追加します。
この設定はクライアント側で閲覧されないように、serverディレクトリ内のファイルに記述します。
const basicAuth = new HttpBasicAuth('guest', 'password');
basicAuth.protect();
以上です。
これだけでBasic認証が有効になります
あとは meteorアプリを起動し、http://localhost:3000 にアクセスして、動作を確認しましょう。
このような認証画面が表示されれば正しく設定できています。
正しいユーザー名とパスワード入力すると、アプリが表示されます。
また、認証に失敗すると以下の画面が表示されます。
特定のページのみBasic認証を有効化する
basicAuth.protect
メソッドの第1引数に、URLパスの配列を渡すと、特定のページのみBasic認証を有効にすることができます。
const basicAuth = new HttpBasicAuth('guest', 'password');
basicAuth.protect([
'/admin',
'/secret'
]);
おわりに
Accountsパッケージ入れるほどではないけれど、簡単なアクセス制限をつけたいという時にBasic認証は手軽でいいですね。
ただし、Basic認証はあくまでも簡易認証なので、セキュリティ面では不安なところがあります。
本格的なサービスで認証を行う場合は、accounts-ui などのパッケージをご利用下さい。