1

.NETメンバーシップとフォーム認証を使用する多数のレガシー.NET Framework Webアプリケーションがあります。彼らはそれぞれ独自のログインページを持っていますが、それらはすべて同じドメイン(.mycompany.comなど)にあり、ASP.NETメンバーシップデータベースを共有し、マシンのキーを共有して、SSOを実現するためにお互いのCookieを認識できるようにします。つまり、1つのアプリにログインしている場合は、すべてログアウトします。ログアウトする場合も同じです。Identity Serverを使用してSSOを実装する方法は?

ここで、すべての今後のアプリケーションを.NETコアで開発し、共通の認証メカニズムとして共通のIdentity Serverを使用したいと考えています。私はシンプルなアイデンティティ・サーバーを稼働させているだけでなく、.NET Coreクライアント・アプリケーションのいくつかの異なる機能を持っています。すべてこれは素晴らしい作品です。私が乗り越えることができないハードルは、すべてのmycompany.comアプリの中のSSOです。 Brock Allenさんはhereを勧めました。インスピレーションのためにクライアントのサンプルを見ています。

MVC OWINクライアント(暗黙的)サンプルは、私のところでほとんどの方法で私を取得します。私はOWINのクッキー認証とOIDCを使用するために私のレガシーアプリケーションを移植することができますが、それは本当のSSOではありません。現在、app1.thirdparty.comにログインすると、認証のためにidentityserver.mycompany.comにリダイレクトされます。私がidentityserver.mycompany.comにログインすると、app1.thirdparty.comにアクセスできます。これは素晴らしいですが、mycompany.comアプリケーションごとに同じプロセスを実行する必要があります。私はすでにidentityserver.mycompany.comとのセッションを確立しているので、毎回自分の資格情報を入力する必要はありませんが、正式にログインする前に各アプリケーションにアクセスしてログインボタンをクリックする必要があります。 identityserver.mycompany.comにログインするとmycompany.comドメイン内の他のすべてのアプリケーションでSSOが開始されることをお勧めします。同様に、mycompany.comアプリケーションに既にログインしている場合は、identityserver.mycompany.comにそのことを認識させて、自分の資格情報を再度入力する必要はありません。

これは可能ですか?私はそれについてどうやって行くのですか?

答えて

2

This article私が探していた情報がありました。 Microsoft.Owin.Security.Interopは、これを動作させるために必要なシムを提供します。

関連する問題