私は OpenID と OAuth について多くのことを読んできましたが、サービスベースのアーキテクチャでそれらがどのように機能するかについて、いくつかの接続を確立するのに苦労しました。
これが私のシナリオです:
- 新しい ASP.NET Web API サービス (RESTful/JSON) を作成しています
- これらのサービスは、クライアント アプリケーション (現在のデスクトップ Web サイト、新しいモバイル Web サイト、および将来的には PHP Web サイトまたは JavaScript のみのクライアント) によって使用されます。
- 当社のデスクトップ Web サイトは現在、ASP.NET メンバーシップ プロバイダー (Web フォーム) を使用しています。
私たちが作成している API サービスの新しいセットは、認証と承認を含むすべてを処理する必要があります。
私の質問は次のとおりです。
- API にアクセスするクライアント アプリケーションを明示的に制御しているため (つまり、これはパブリック API ではなく、承認されたパートナーを統合するためのものです)、OAuth は必ず必要ですか?
- OpenID は .NET メンバーシップ機能を置き換えるものですか、それとも補完するものですか?
- メンバーシップ プロバイダーを使用して従来のシステムでユーザーを認証する必要がある場合、何らかの .NET メンバーシップ OpenID プロバイダーを使用する必要がありますか? それとも、通常どおりに認証して、現在行っているようにユーザーにメンバーシップ トークンを付与するだけですか?
要約すると、次のようになります。
- 私はいくつかの新しいサービスを書いています
- クライアントアプリケーションのユーザーのために、承認されたクライアントアプリケーションで使用できる必要があります
- .NET メンバーシップ データを引き続きサポートする必要があります
申し訳ありませんが、これらは基本的な質問ですが、簡単に答えられると確信しています。ありがとうございました!