2019/12/01

python-httpauth-lib: Python向けHTTP認証ライブラリ(新しめ)公開

先日シンガポールでのIETFに行っている間に、Python向けのHTTP認証の実装を公開しました。……といっても、これだけだと今更感が大きく漂いますね。

これは、仕事でHTTP APIを使ったプロジェクトを進めている最中、最近のRFCでのDigest認証の更新に対応した実装が世の中に全然ないもので、割と必要にせまられて作ったものです。
一方で、HTTP認証の標準化に関わった人としては「自分で作るならちゃんと作るしかない」、また国際化の標準にもちょっと関わったからにはこちらも「ちゃんとしておきたい」ということで、
  • RFC 7235: 複数認証形式の同時提示への対応。
  • RFC 7617: Basic認証でのUTF-8サポート。
  • RFC 7616: Digest認証のさまざまな機能対応。
    • SHA-256 / SHA-256-sess アルゴリズム。
    • メッセージ認証内容 qop=auth / qop=auth-int の両対応。
    • HTTP応答の逆方向認証への完全な対応。
    • 多言語化対応ヘッダ (RFC 5987) に対応した UTF-8 サポート。
あたりを全部きちんと押さえてあります。

Python側のフレームワークとしては、標準添付のhttp.server, Flask, Eve (サーバ側), requests (クライアント側) 辺りを押さえてあります。共通ルーチン部分は、他のライブラリでも適用可能だと思います。
 どうもこの辺の規格化の仕事は余り実装が充実していないようなので、interopできたらいいなぁと思っているのですが、まずは MD5/SHA-1 以外に対応したDigest認証の実装ってものが殆ど無いので、その辺りの比較対象の the first one としてcontributeしておきたいという思いもあります。
とりあえず、Digest/SHA-256を使わなきゃいけなくなった人には使えるものになっていると思いますが、 試してみて頂ければ。

0 件のコメント: