Trusterd の Basic 認証用のライブラリができました。ユーザー名とパスワードで認証することができるようになります。
Trusterd のビルド
追加するライブラリを build_config.rb に記載し、ビルドします。
conf.gem :github => 'qtkmz/mruby-crypt'
conf.gem :github => 'iij/mruby-io'
htpasswd の準備
Ubuntu で htpasswd コマンドを使う場合は apache2-utils パッケージが必要になります。あらかじめインストールしておきましょう。
以下では、htpasswd を新規に作成し、mirin ユーザーを追加します。
htpasswd -c /usr/local/trusterd/conf/htpasswd mirin
パスワードの形式はデフォルトの MD5 でハッシュしたもののみ対応しています。
trusterd.conf.rb に設定を記述
s.set_access_checker_cb {
if s.uri =~ /^\/auth\//
basic = HTTP2::Server::BasicAuth.new({
:realm_name => "Private Area",
:htpasswd => "/usr/local/trusterd/conf/htpasswd",
})
basic.authn(s)
end
}
ブラウザでアクセス
/auth にアクセスすると、ユーザー名とパスワード聞かれるようになり、先ほど登録したユーザーでログインすることができます。