サーバーAがSSL/TLS経由でサーバーBに接続するSOAシステムを作成しています。
API トークンを使用して、A が本人であることを確認できます。しかし、私は TLS を使用しており、サーバー A には Verisign が発行した X.509 証明書があり、その証明書を使用することは理にかなっているようです。
したがって、高レベルの認証ワークフローは次のようになります。
- A は TLS によって B に接続します
- B は A の証明書をチェックします
- B は、証明書が無効である場合、または証明書が A 以外の当事者向けである場合、A をドロップします。
これは、アプリケーションの外部で、可能な限りネットワーク スタックの最下位レベルで行いたいと考えています。おそらく、次のようなApache構成ディレクティブによるものです。
DropUnlessX509CertificateNameMatches XXXXXXXXX
?
これと API トークン認証の欠点はありますか?