私は一連の RESTful Web アプリケーションのユーザー向けの内部認証システムに取り組んでいます。私たちの意図は、ユーザーが Web フォームを介して 1 回サインオンできる必要があり、ドメイン内のこれらすべての RESTful アプリケーションに適切にアクセスできるようにすることです。これは、多くのサーバーにまたがるプライベート クラウドに分散されている可能性があります。(単一の認証済みセッションを持つことは純粋な RESTful アプローチと一致しないことは既に理解していますが、これは使いやすさの要件です。)
アプリケーション自体はさまざまなプログラミング言語で作成されるため、言語に依存しないアプローチが必要です。OpenID や OAuth、または同様のフレームワークを使用して認証を処理することを提案されましたが、これらはサードパーティ サービスを対象としており、内部システムでデータを共有するファーストパーティ サービスを対象としていないことを理解しています。この場合、他のすべてのアプリケーションがサード パーティ (または依存パーティ) として扱われる、中央のプロバイダー サービスを持つことができます。
質問:
- OpenID/OAuth はファーストパーティ サービス間の認証に適していますか?
- もしそうなら、このユースケースの認証をどのように設定することをお勧めしますか?
- ユーザーは、サードパーティのサーバーに個別のアクセス許可を付与する必要があるのと同じように、使用する各ファースト パーティのサーバーに個別のアクセス許可を付与する必要があるのではないでしょうか? これは、すべてのファースト パーティ サービスにアクセスするためのシングル サインオンの要件に違反すると思います。
- このファーストパーティのユースケースをサポートしているサイトの良い例はありますか?
- このファーストパーティのユースケースに適した代替フレームワークは何ですか?