私の仕事では、APIの標準を決定しています。
一部のAPIがAPIキーを使用しているのを見てきました。他の人がユーザー名とパスワードで完全な認証を使用しているのを見てきました(例:oAuth2)。
一般的に、一方を他方の上に使用するのに良い時期はありますか?
OAuth は、「サード パーティ認証」のシナリオに最適です (ファースト パーティ: API サーバー、セカンド パーティ: API を使用するアプリ、サード パーティ: API が使用されるユーザー)。たとえば、Instagram アプリケーション (第 2 パーティ) がユーザー John Doe (第 3 パーティ) の代わりに Facebook API (第 1 パーティ) に写真をアップロードして、John Doe の Facebook ウォールに表示するとします。
ただし、多くの API にはこのサードパーティ シナリオがありません。API とアプリだけがあり、エンド ユーザー固有の情報には関連付けられていません。たとえば、証券会社が株価 API を提供している場合、株価はエンド ユーザーに固有のものではないため、2 者間のシナリオになります。(ただし、誰かの株式ポートフォリオにアクセスするための API がある場合、それはサードパーティのシナリオです)。
サードパーティのシナリオでは、現時点で OAuth がほぼ標準になっています。2 パーティのシナリオでは、OAuth を使用することは可能ですが、実際にはより単純な認証スキームが使用されることがよくあります (たとえば、URL に API キーのみを使用し、HTTPS を使用して URL を仲介者から隠します)。