Kazuho's Weblog: H2O version 1.7.0-beta1 released with enhanced mruby scripting, CGI, and much more
H2O version 1.7.0-beta1 からは htpasswd も使える Basic 認証のサポートが入ったので、以下のようなコードは最早必要ありません。
現時点だと h2o に Basic Auth の機能が入ってなさそうなので mruby.handler で雑に書く
mruby.handler: |
USER = "tsun", PASS = "dere"
lambda do |env|
auth = env['HTTP_AUTHORIZATION']
if auth
method, cred = *auth.split(' ')
if method == "Basic"
user, pass = cred.unpack("m")[0].split(':')
if user == USER && pass == PASS
return [ 399, {}, [] ]
end
end
end
[ 401, { 'Content-Type' => 'text/plain', 'WWW-Authenticate' => 'Basic realm="Restricted"' }, [ 'Authorization Required' ] ]
end
これをかけたいとこに書けば basic auth がかかる。
最初 htpasswd 読むようにしようとしたが mruby に String#crypt はなかったのでやめた。
- トップ
-
tech
-
h2o で Basic Auth