1 つの Web アプリケーションが複数のドメインにサービスを提供するソリューションを作成しようとしています。ドメインごとに、外部プロバイダーのアプリ ID とシークレットを使用して、独自のプロバイダーを構成したいと考えています。Cookie ドメインとプロバイダー情報が必要です。現在のドメイン名に基づいてデータベースから読み取られるため、たとえば次のようになります。
switch (currentDomainName)
{
case "web1.com": load cookie domain and providers information for web1.com ...
case "web2.com": load cookie domain and providers information for web2.com ...
...
}
私は2つの大きな問題に直面しています:
- Owin スタートアップの ConfigureAuth() で使用できる HttpContext がなく、スタートアップの早い段階でどのドメイン名が使用されているかを判断する方法がわかりません...
- Startup は Web アプリケーションごとに 1 回だけ実行されることを理解しています。たとえば、web1.com に初めてアクセスした後、web1.com によって既に設定されていると、configureAuth() は web2.com に対して再度実行されません。
いくつかの Owin メソッドをオーバーライドして非静的にすることができるかどうか疑問に思っています... または、これを別の方法で実装する方法を見つけることができます (しかし、私はまだ Owin を使用するのが好きです)。
どこから始めればよいですか?