サードパーティの開発者がアクセスできる API を持つ単純な Web サービスがあります。API はほとんどの場合、REST の原則に従います。
開発者にクライアント証明書の使用を要求することで、API をより安全にするソリューションに興味があります。認証にユーザー レベルの証明書を使用する REST ベースの API を支援するオープン ソース ソリューションやその他の実装に関するアドバイスはありますか?
サードパーティの開発者がアクセスできる API を持つ単純な Web サービスがあります。API はほとんどの場合、REST の原則に従います。
開発者にクライアント証明書の使用を要求することで、API をより安全にするソリューションに興味があります。認証にユーザー レベルの証明書を使用する REST ベースの API を支援するオープン ソース ソリューションやその他の実装に関するアドバイスはありますか?
私の一般的なアドバイスは、API を認証ルーチンから分離しておくことです。Web サーバーが対話を処理する必要があります。
クライアント証明書シナリオのお客様側のソリューションは、環境によって異なります。あなたはそれをここに投稿していませんが、的を絞った Google 検索で何が必要なのかがわかるようです。
他の関係者に API を提供しているため、それらの開発者向けの環境サポートに関していくつかの考慮事項があります。あなたは REST ベースでうまくやっており、ほとんどのプログラミング環境はそれらとかなりうまく相互運用できるでしょう。
クライアント証明書のサポートは、環境やプラットフォームなどによってサポート効率が異なる可能性があります。さらに、証明書が必要な場合は、クライアント側の実装に影響を与えています。これにより、ほぼ確実に、顧客をサポートし、API を使用して顧客を稼働させる必要が生じます。これは、他の言語、Web サーバー、フレームワークなどに精通していることを意味します。
Python HTTP ライブラリはクライアント証明書をサポートしており、その上にある urllib ライブラリも同様です。