状況は次のとおりです。
- Web サイト A、ASP.NET MVC 4 Web アプリケーション。ドメイン: http://a.example.com
- Web サイト B、ASP.NET MVC 4 Web アプリケーション。ドメイン: http://b.example.com
Web サイト間で Cookie (フォーム認証) を共有しようとしています。
私はフォーム認証自体を使用していません。組み込みのメソッド (暗号化、復号化など) を使用していますが、独自のカスタム Cookie を設定しています。
Web サイトの 1 つで Cookie を設定すると、他の Web サイトでは Cookie が表示されますが、復号化できません。エラーは、一般的な「暗号化操作中にエラーが発生しました」です。
私が保証したこと:
- Cookie のドメインは「example.com」に設定されています (これは、サブドメインがアクセスできることを意味します。他の Web サイトが Cookie を「見る」ことができるという証拠です)。
- 両方の Web サイトが同じマシン キーを共有します。両方の web.config には、decryptionKey と validationKey の同じ値があります。
- フォーム認証チケットのバージョンと Cookie 名は、両方の Web サイトで同じです。
- パスは「/」に設定されます。
以前にこれを行ったことがあり、正常に動作しますが、そのシナリオでは、両方のアプリケーションが同じコード ベースを共有していました。
この場合、それらは別個のアプリケーションです。これは、同じ最上位ドメインにあるプラットフォームに依存しない 2 つのアプリケーションが認証 Cookie を共有できるソリューションのプロトタイプを作成しているためです。
不足しているものを誰かに教えてもらえますか、または別の解決策を提供してもらえますか?
関連するすべての質問を読みましたが、答えは通常上記の 2) です。