前回の続きで、汎用認証サイトのFAPI2(Financial-grade API)のConfidential Client対応が完了しましたので、軽くお知らせを入れておきます。
Demo: MultiPurposeAuthSite & Financial-grade API part 2
(confidential client) of Open棟梁
コレには、
- IDトークンの
JWS (ES256)、JWE (RSAES-OAEP and AES GCM)化 - Accessトークンの
記名式トークン (Holder-of-Key Token等と呼ばれる)化
の対応を行いました。
なお、記名式トークンの実装には、クライアント証明書を使用する「
OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens」の "tls_client_auth" を採用しています(クライアント証明書の証明書チェーンを検証しないTLSスタック構成が不明なのと、サーバー側に再々公開鍵を持たせるのがアレなので "self_signed_tls_client_auth" は未サポートとしました)。
全体として、
- 前回に言及したIDトークン対応の制約
- 今回のAccessトークン対応の制約
があり、後者の制約は、IIS ExpressのTLSスタック構成はできましたが、KestreでのTLSスタック構成がまだできていないのと、.NET Core 2では、クライアント証明書のハンドリングが素組みになるというものです(これはBouncy Castleなどを使用すれば可能といえば可能ですが)。
...と言う事で、「汎用認証サイト」のF-API2 Confidential Client対応、.NET Framework版の実装は完了していますが、.NET Core版は、来期(2019年度上期)に、.NET Core 3を使用して実装するようにしようと考えています。
...という話をしていたら、
Visual Studio 2019 RC版がリリースされたようで、来期早々に、.NET Core 3対応を進めていけるのではないか?と、期待しています。