私はASP.NET MVCで動作する数多くの異なるWebアプリケーションを用意しています。これらのASP.NET MVCアプリケーションは.NET/Angularハイブリッドであり、一般にWebAPI APIを呼び出し、IIS上で独自のアプリケーションで実行されます。OAuthトークンを使用してシングルサインオンソースから異なるASP.NET MVCアプリケーションを認証する
すべてのアプリケーションは同じドメインにありますが、別々のサブドメインにあります。それらはすべてIISの同じインスタンス上で実行されます。
- 支払いアプリケーション(MVC、payments.myapp.com)
- ニュースアプリケーション(MVC、news.myapp.com)
- 支払い:
構造は次のようになりますAPI(WebAPI、paymentsapi.myapp.com)
- ニュースAPI(WebAPI、newsapi.myapp.com)
- ログインアプリケーション(MVC、login.myapp.com)
- ログインAPI(WebAPIの、loginapi.myapp.com)私が行うことができるように必要なもの
はログです1つのソース、すなわちログインアプリケーションから支払いおよびニュースアプリケーションにアクセスすることができます。次に、ログインアプリケーションはログインAPI(これは明らかに制限されていない)を呼び出してトークンを発行します。
ユーザーがトークンなしでPaymentsまたはNews Applicationsにアクセスしようとすると、ログインアプリケーションにリダイレクトする必要があります。 Payments APIとNewsAPIも有効なトークンなしではアクセスできないようにする必要があります。これはログインと同時に設定する必要があります。
現在、ログインAPIは、OWIN/OAuthを使用してベアラトークンを正常に発行します。私が確信しているのは、サブドメイン間でこれを使用している部分です。
どうすればいいですか?
リンクをありがとうございました。この記事では機能を実装しましたが、ドメイン間でトークンを使用する問題は解決していません。 – Graham
私の答えの更新をご覧ください。 –
Loginアプリケーションは別になっているので、それをAuthorization Serverとして使用できます。これはさらに良い選択肢になります。同じブログの[link](http://bitoftech.net/2014/09/24/decouple-owin-authorization-server-resource-server-oauth-2-0-web-api/)には、それは動作します。特に懸念がある場合は教えてください。できる限り私はそれを明確にしようとします。ありがとうございました。 –