マイクロサービスアーキテクチャが話題を集め、コンポーネントのWeb API化が更なる急加速を見せる昨今。
とは言え「誰でも自由に叩いて良い」Web APIなんてのは事実上無く、ほぼ全てのケースで何かしらのアクセス制御が必要になります。
- Spring Security もサポートする昔ながらの「Basic認証」。古い、ということは、悪いソリューションなのか?
- 最近のAPIのアクセス制御と言えば「OAuth 2.0」がトレンディ? Spring Security OAuth もあるし!
- 一方でAWSは「APIキー方式」を採用。なぜAWSはOAuth2ではないのか?
- Spring Security はまだ公式にサポートしていない「OpenID Connect」とは一体…?
Webにおけるアクセス制御の歴史を振り返りつつ、様々なAPIの立ち位置と共に、その最適解を探っていきたいと思います。