golang: net/httpでBASIC認証


1 min read
golang: net/httpでBASIC認証

golangでベーシック認証するのはどうしたら良いのかなー。って思ってたら、net/httpでhandlerに渡されるhttp.RequestBasicAuth()というメソッドが生えてました。
これはBASIC認証用のユーザ名、パスワード、ヘッダ解析のフラグという値を返してくれます。
なので、

func handler(w http.ResponseWriter, r *http.Request) {
    username, password, ok := r.BasicAuth()
    if !ok {
        return
    }
    if username == "hogehogeuser" && password == "fugafugapasswd" {
        // something
    }
}

とすることで認証することができます。簡単、簡単。
なお残念ながらダイジェスト認証はサポートされていない様子。


YAPC::Kansai 2017 OSAKAに行ってきました
Previous article

YAPC::Kansai 2017 OSAKAに行ってきました

12月のYAPC::Hokkaido 2016 SAPPORO(行ってきた時の記事はこちら)に引き続き、YAPC::Kansai 2017 OSAKAに行ってきました。 今回もブログを書くまでがYAPCとは言われなかった気がします。 YAPCはPerlのイベントで、"Yet Another Perl Conference"の略です。twitterハッシュタグは前回に引き続き#yapcjapanでした。 私にとって、大阪はもちろん、関西自体が初めてで、かなり余裕のあるスケジュールを組んだために、

MySQL on docker macな開発環境でローカルからMySQLに接続する
Next article

MySQL on docker macな開発環境でローカルからMySQLに接続する

MySQLをdocker上に立てることで、ローカルの環境を汚さずにMySQLを使ったアプリケーションの開発を行うことができます。 特に、練習段階や、動作確認などの場合、 test_hogehoge な感じのデータベースやテーブルを作ってしまい、後片付けをしないために汚くなっていく、なんてこと、あるんじゃないでしょうか。 さて、MySQL on dockerへの接続、今までローカルにMySQLを入れて開発していたのでちょっと躓きました。 $ docker run -d -p 3306:3306 -e MYSQL_ROOT_


GO TOP

🎉 You've successfully subscribed to something tech.!
OK